def METHOD_NAME(self, bdf_file, size=8, is_double=False, element_id=None):
    assert self.n > 0, self.n
    if self.n:
        if element_id is None:
            i = arange(self.n)
        else:
            i = searchsorted(self.element_id, element_id)
        blank = ' ' * size
        #cid = [cid if cid != 0 else '' for cid in self.coord_id]
        #Mass = [x if x != 0.0 else '' for x in self.mass[i]]
        if size == 8:
            X0 = [print_float_8(x) if x != 0.0 else blank for x in self.x[i, 0]]
            X1 = [print_float_8(x) if x != 0.0 else blank for x in self.x[i, 1]]
            X2 = [print_float_8(x) if x != 0.0 else '' for x in self.x[i, 2]]
            I0 = [print_float_8(x) if x != 0.0 else blank for x in self.I[i, 0]]
            I1 = [print_float_8(x) if x != 0.0 else blank for x in self.I[i, 1]]
            I2 = [print_float_8(x) if x != 0.0 else blank for x in self.I[i, 2]]
            I3 = [print_float_8(x) if x != 0.0 else blank for x in self.I[i, 3]]
            I4 = [print_float_8(x) if x != 0.0 else blank for x in self.I[i, 4]]
            I5 = [print_float_8(x) if x != 0.0 else blank for x in self.I[i, 5]]
            for (eid, nid, cid, mass, x0, x1, x2, i0, i1, i2, i3, i4, i5) in zip(
                self.element_id[i], self.node_id[i], self.coord_id[i], self.mass[i],
                X0, X1, X2, I0, I1, I2, I3, I4, I5):
                if eid in self._comments:
                    bdf_file.write(self._comments[eid])
                carda = '%-8s%8i%8i%8i%8s%s%s%s\n' % ('CONM2', eid, nid, cid, print_float_8(mass), x0, x1, x2)
                cardb = '%8s%8s%8s%8s%8s%8s%8s' % ('', i0, i1, i2, i3, i4, i5)
                cardi = (carda + cardb).rstrip() + '\n'
                bdf_file.write(cardi)
        else:
            assert size == 16, size
            X0 = [print_float_16(x) if x != 0.0 else blank for x in self.x[i, 0]]
            X1 = [print_float_16(x) if x != 0.0 else blank for x in self.x[i, 1]]
            X2 = [print_float_16(x) if x != 0.0 else '' for x in self.x[i, 2]]
            I0 = [print_float_16(x) if x != 0.0 else blank for x in self.I[i, 0]]
            I1 = [print_float_16(x) if x != 0.0 else blank for x in self.I[i, 1]]
            I2 = [print_float_16(x) if x != 0.0 else blank for x in self.I[i, 2]]
            I3 = [print_float_16(x) if x != 0.0 else blank for x in self.I[i, 3]]
            I4 = [print_float_16(x) if x != 0.0 else blank for x in self.I[i, 4]]
            I5 = [print_float_16(x) if x != 0.0 else blank for x in self.I[i, 5]]
            for (eid, nid, cid, mass, x0, x1, x2, i0, i1, i2, i3, i4, i5) in zip(
                self.element_id[i], self.node_id[i], self.coord_id[i], self.mass[i],
                X0, X1, X2, I0, I1, I2, I3, I4, I5):
                if eid in self._comments:
                    bdf_file.write(self._comments[eid])
                carda = '%-8s%16i%16i%16i%16s\n' % ('CONM2*', eid, nid, cid, print_float_8(mass), )
                cardb = '%-8s%16s%16s%16s%16s\n' % ('*', x0, x1, x2, i0)
                cardc = '%-8s%16s%16s%16s%16s\n' % ('*', i1, i2, i3, i4)
                cardd = '%-8s%16s' % ('*', i5)
                cardcd = (cardc + cardd).rstrip('* \n')
                if cardcd:
                    cardi = carda + cardb + cardc + cardd
                else:
                    cardi = carda + cardb
                bdf_file.write(cardi.rstrip() + '\n')