AutoPLANT v8i Modeler SS7, Insulation Color, COMPPROP.ebs

Hello,

I was wondering if anyone could point me in the direction of setting the color of my insulation in my compprop.ebs?  I’m looking to set it to bylayer (not force the color) and to match the piping layer color I have set (bylayer as well).  I am using color "By Service" and layer "By number".

The color is currently it is being set to “0” and the insulation is being placed on a separate layer called <Linenumber> + "_Ins".  See attached COMPPROP.ebs.

4370.COMPPROP.zip

Thanks in advance,

Dan

Currently using

AutoPLANT Modeler Version 8.11.12.111

AutoCAD 2015, x64

  • Try modifying the function below in the compprop.ebs file. I've added comments to what line was added and which lines were removed.

    Public Function at_Insulation_setCADPropertiesForObject(compID As At_ComponentID, Layer As String, CADObj As Long) As Integer
    Dim status As Integer
    Dim currentLayer As String
    Dim currentLineStyle As String
    Dim currentColor As String
    Dim Inslayer As String
    Dim insulationLineStype As String
    Dim insulationColor As String

    currentLayer = at_CADSystem_getLayer()
    status = at_CADSystem_setLayer(Layer)
    status = at_CADObject_setLayer (CadObj, Layer)
    status = at_CADSystem_setLayer(currentLayer)
    '// Optionally set the linestyle and color using the current project preferences.
    status = at_Preference_getString(insulationLineStype, "Insulation_LineStyle")
    If ((status = AT_SUCCESS) And (Len(insulationLineStype) > 0)) Then
    currentLineStyle = at_CADSystem_getLineStyle()
    status = at_CADSystem_setLineStyle (insulationLineStype)
    status = at_CADObject_setLineStyle (CadObj, insulationLineStype)
    status = at_CADSystem_setLineStyle (currentLineStyle)
    End If
    '// Added line below
    insulationColor = at_ComponentProperties_getColor(compID, "Comp_Color_Mode")
    '// Removed line below
    '// status = at_Preference_getString(insulationColor, "Insulation_Color")
    If ((status = AT_SUCCESS) And (Len(insulationColor) > 0)) Then
    currentColor = at_CADSystem_getColor()
    status = at_CADSystem_setColor (insulationColor)
    status = at_CADObject_setColor (CadObj, insulationColor)
    '// Removed line below
    '// status = at_CADSystem_setColor (currentColor)
    End If
    at_Insulation_setCADPropertiesForObject = status
    End Function

       
    This is a test

  • Hi Keith,

    Thanks for answering, but this did not change the color of the insulation at all.  It was working in version SS3, but after that it does not.  Something changed in the code and I cannot find it.  Let me know if you have any other ideas.

    Thanks,

    Dan

  • The color of insulation can now be set in the config.ini

    Steps:

    1. Find the config.ini file located at: %Project_Name%\Config
    2. In the config.ini find  Insulation_Color  
    3. Set Insulation_Color to a valid AutoCAD color number
    4. Once set the Insulation will show as that color.
    Joey Bertone
    Available
    Senior Technical Support Engineer
    iTwin Services 
  • Joey,

    Thanks for the reply.  I have set the color to bylayer in the config.ini already.  This does not answer my question.

    Insulation_Color = BYLAYER

    Let me know if you have any other ideas.

    Dan