def to_idf(self, model_name=None):
        """
        Parameters
        ----------
         model_name: str, default None
            if given, will be used as external file directory base name

        Returns
        -------
        idf string
        """

        json_data = self.to_json_data(model_name=model_name)
            
        # record descriptor ref
        s = f"{self._table._dev_descriptor.table_name},\n"

        # fields
        # fields_nb: we don't use len(self) but max(self). We wan't to stop if no more values (even base fields)
        #   because some idd records are defined without extensibles (although they should used them), for example
        #   construction, and eplus does not know what to do...
        fields_nb = max(self._data)+1
        for i in range(fields_nb):
            # value
            tab = " " * TAB_LEN
            raw_value = json_data.get(i, "")
            content = f"{tab}{raw_value}{';' if i == fields_nb-1 else ','}"

            # comment
            spaces_nb = COMMENT_COLUMN_START - len(content)
            if spaces_nb < 0:
                spaces_nb = TAB_LEN
               
            # comment
            name = self._table._dev_descriptor.get_extended_name(i)
            comment = "" if name is None else " " * spaces_nb + f"! {name}"

            # store
            s += f"{content}{comment}\n"

        return s
def to_idf(self, model_name=None):
        """
        Parameters
        ----------
         model_name: str, default None
            if given, will be used as external file directory base name

        Returns
        -------
        idf string
        """

        json_data = self.to_json_data(model_name=model_name)
            
        # record descriptor ref
        s = f"{self._table._dev_descriptor.table_name},\n"

        # fields
        # fields_nb: we don't use len(self) but max(self). We wan't to stop if no more values (even base fields)
        #   because some idd records are defined without extensibles (although they should used them), for example
        #   construction, and eplus does not know what to do...
        fields_nb = max(self._data)+1
        for i in range(fields_nb):
            # value
            tab = " " * TAB_LEN
            raw_value = json_data.get(i, "")
            content = f"{tab}{raw_value}{';' if i == fields_nb-1 else ','}"

            # comment
            spaces_nb = COMMENT_COLUMN_START - len(content)
            if spaces_nb < 0:
                spaces_nb = TAB_LEN
               
            # comment
            name = self._table._dev_descriptor.get_extended_name(i)
            comment = "" if name is None else " " * spaces_nb + f"! {name}"

            # store
            s += f"{content}{comment}\n"

        return s
def to_idf ( self , model_name = None ) : json_data = self . to_json_data ( model_name = model_name ) # record descriptor ref s = f"{self._table._dev_descriptor.table_name},\n" # fields # fields_nb: we don't use len(self) but max(self). We wan't to stop if no more values (even base fields) #   because some idd records are defined without extensibles (although they should used them), for example #   construction, and eplus does not know what to do... fields_nb = max ( self . _data ) + 1 for i in range ( fields_nb ) : # value tab = " " * TAB_LEN raw_value = json_data . get ( i , "" ) content = f"{tab}{raw_value}{';' if i == fields_nb-1 else ','}" # comment spaces_nb = COMMENT_COLUMN_START - len ( content ) if spaces_nb < 0 : spaces_nb = TAB_LEN # comment name = self . _table . _dev_descriptor . get_extended_name ( i ) comment = "" if name is None else " " * spaces_nb + f"! {name}" # store s += f"{content}{comment}\n" return s
Parameters
        ----------
         model_name: str, default None
            if given, will be used as external file directory base name

        Returns
        -------
        idf string
Parameters ---------- model_name : str default None if given will be used as external file directory base name