XML Reference

<< Click to Display Table of Contents >>

Navigation:  XML API >

XML Reference

Filter:


Instructions
Instruction Parameters
Classes
Classes Parameters
Types
Events
Command line examples
add Angle cstAcadTable ACADVer Undefined OnUndefined CmpFiles
apply AskOnDelete cstAcadTableStyle Angle Boolean OnMouseMove HideAllInterface
buttonmenu Author cstArc AngleFromXY Byte OnMouseDown HideToolbarsPanels
capturescreen base64 cstAttdef AngleInXY Word OnMouseUp mirror
command BitPerPixel cstAttrib ArcDefPoint Integer OnMouseWheel mirror2
ContextMenu Bottom cstBlock Area Int64 OnSelectEntity MovePicture
CreateHatch Box cstBlockPattern Arrowhead Color OnConfirmEntitiesDeletion RectZooming
CustomSelectMode CADArea cstBlockRecords ArrowSize Handle OnChangeEntities rotate
delete Calcs cstCircle ArrowType Single OnCopyEntities rotate2
Editor Caption cstConverter Attmode Double OnCreateEntities savetopng
FitToSize caption cstDictionary Attribs Pointer OnDeleteEntities SetJPEGExport
get Changed cstDimension BackClipPlane String OnCancelEntities SetJPEGSmoothingOff
getbox Color cstDimensionStyle BasePoint Point OnLayoutBeforeChange SetLanguage
getcadcoords Compression cstEllipse BigFont F2DPoint OnLayoutAfterChange SetOrtho
getdrawingchanged Created cstEntity BlockName FPoint OnPasteEntities SetOrthoOff
getdrawingslist CustomDraw cstField BLOCKS Rect OnRedoEntities SetPolar
GetExternalFiles DPUX cstFieldList Boundaries F2DRect OnUndoEntities ShowToolbar
getimage DPUY cstFill Boundary FRect OnKeyDown shxdefaultfont
getselected Drawing cstGradientPolygon Bulge Version OnKeyUp shxdefaultpath
GetView DrawingData cstGroup Calc ColorCAD OnKeyPress shxfonts
getviewrect EMail csthArc CEColor EntHandle OnPaint shxfromacad
Help Enabled cstHatch CELTScale EntName OnMenuContextClick SwitchToModel
Invalidate Errors csthBoundaryList CELType List OnMenuButtonClick UnionEdges
load Event csthCurve CELWeight ListItem OnApplicationExeption ZoomAtPoint
menuItemClick ExportParams cstHelix CenterMass StringInternal OnMeasure
Registration ExternalFile csthLine CenterPoint Base64
ribbon File csthPoints CircleLength Singles
save Format csthPolyline CircleZoomPercent FPoints2DOr3D
select Guid cstImageDef CLayer Procedure
SetCustomInsert Handle cstImageEnt ClippingBoundaryHandle Parameters
setdrawingchanged HatchName cstInsert Clockwise Guid
SetView Height cstInsertXRef Closed
setviewrect Index cstLayer CodePage
showselectedentities Instruction cstLayout Color
signtoevent IsConvertImageToOLE cstLeader ColSpacing
SupportedClassesList Item cstLine ColumnCount
SupportedInstructionsList Items cstLineType ControlPoints
switchdrawing Key cstLWPolyline Count
Undefined LayoutExportMode cstMPolygon Dash
unload LayoutNameExportMode cstMText DefPoint
unselect Left cstObjectEntity Degree
LineWeight cstOle2Frame DeltaX
Marker cstOwneredItem DeltaY
MeasureInPixels cstPenTableItem DeltaZ
Mode cstPoint Description
Mode cstPolyline DictValue
Mode cstPolyPolygon DimAlt
Mode cstProxy DimAltF
Output cstSection DimAPost
PageHeight cstSectionBlocks DimAsz
PageWidth cstSectionEntities DimBlk
Parameters cstSectionHeader DimBlk1
PathName cstSectionObjects DimBlk2
PathToXMLExamples cstSectionTables DimCen
PatternScale cstSolid DimClrD
Point cstSortEntsTable DimClrE
Proportional cstSpline DimClrT
Quality cstStyle DimDec
ReadOnly cstTable DimExe
Rect cstText DimExo
Registration cstVertex DimGap
Result cstViewport DimLFac
Right cstVport DimLwD
Selected cstWipeout DimLwE
SelectedCount cstXref DimPost
ShowEntityMethod DimRBlk
ShowEntityPrecision DimSah
Text DimScale
Top DimScaleOverall
Transparent DimSD1
Updated DimSD2
User DimSE1
Version DimSE2
Visible DimStyle
VisibleArea DimTad
Width DimTih
DimTix
DimToh
DIMTXSTY
DimTxt
Distance
Elevation
EndAngle
EndParam
EndPoint
EndTangentVector
EndWidth
ENTITIES
ExtData
ExtMax
EXTMIN
Extrusion
FileName
FILLETRAD
FitPoints
FixedHeight
Flags
FontName
FontStyle
FrontClipPlane
Frozen
FrozenByNewViewPort
GlobalWidth
Handle
HandleSave
HatchName
HEADER
Height
ImageDef
InsBase
InsUnits
IsPlotting
IsSolid
Justify
Knot
KnotsPoints
LastHeightUsed
Layer
LayoutScale
LeaderPathType
Length
LinDefPoint1
LinDefPoint2
LineAngle
Lines
LineType
LineTypeScale
LineWeight
Locked
LTScale
MajorPoint
Measurement
MiddlePoint
Mode
ModelScale
MSpaceCenter
MSpaceHeight
Name
OBJECTS
ObliqueAngle
Offset
OriginalName
PaperSpaceBlock
PatternAngle
PatternScale
Pattren
Pattrens
PDMODE
PDSIZE
Perimeter
Periodic
Point
Point1
Point2
Point3
PolylineLength
PrimaryFont
Properties
PScale
PSpaceCenter
PSpaceHeight
PSpaceWidth
RadDefPoint
Radius
RadPt
Ratio
Rational
RectWidth
Rotation
RowCount
RowSpacing
Scale
ScaleFactor
SegmentIndex
Size
SolidFill
Start
StartAngle
StartParam
StartPoint
StartTangentVector
StartWidth
StatusField
StyleName
SubEntities
TABLES
Tag
Text
TextGenFlags
TextSize
TextStyle
TextValue
Thickness
ThisID
TileMode
Transparency
TransparentColor
TurnHeight
Turns
UCSORG
UCSOrigin
UCSVP
UCSXDir
UCSYDir
UVector
Value
Vertex
Vertexes
ViewAspectRatio
ViewCenterPoint
ViewDirection
ViewHeight
ViewTarget
ViewTwistAngle
Visible
Volume
VVector
Weight
Weights
Width
WidthFactor
XrefLink

Instructions

add

Description: Instruction ADD adds entities and Drawing Structure Data to the current drawing. There are many examples of adding particular classes with ADD instruction which are described in Classes examples.

Syntax:

<add DrawingData ="List" />
add parameters are:
Parameter Type Description
DrawingData List Drawing data structure


The returned value has the following structure:
Result parameters are:
Parameter Type Description
Instruction String The name of the command which the result is for

Result field accepts the following child:
Parameter Type Description
Output List Contains the result of the command
Errors List Contains the errors of the command

Output field accepts the following child:
Parameter Type Description
Created ListItem Created
Updated ListItem Updated

Created parameters are:
Parameter Type Description
Handle EntHandle Handle can be given directly via $ or indirectly via @ attributes, it also accepts a list of handles divided by the ";" sign. For example: Handle="$24", Handle="@1", Handle="@;$27;$28"

Updated parameters are:
Parameter Type Description
Handle EntHandle Handle can be given directly via $ or indirectly via @ attributes, it also accepts a list of handles divided by the ";" sign. For example: Handle="$24", Handle="@1", Handle="@;$27;$28"


Example:
 
<?xml version="1.0" encoding="utf-8"?>
<cadsofttools version="2">
  <!-- Description: Instruction ADD adds entities and Drawing Structure Data to the current drawing. There are many examples of adding particular classes with ADD instruction which are described in Classes examples. -->  
  <add>               
  <!-- The following line adds a text. -->
    <cstText Text="CADSoftTools" Point="0.5, 0.5" Height="1"/>  
  <!-- The following line adds a line. -->
    <cstLine point="0,0,0" Point1="10,0,0"/>  
</add>                          
  <FitToSize/>        
  </cadsofttools>                               

Example 2:
Description: The example shows how to add a complicated Drawing Structure Data to the current drawing.
 
<?xml version="1.0" encoding="utf-8"?>
<cadsofttools version="2">
  <!-- Description: The example shows how to add a complicated Drawing Structure Data to the current drawing. -->  
  <add>
    <cstSectionTables Name="TABLES">
      <SubEntities>             
        <cstTable Name="LAYER">
          <SubEntities>
            <cstLayer name="Layer2" Color="0;3;" />
            <cstLayer name="Invisible" Visible="False" />
            <cstLayer name="Locked" Locked="True" />
          </SubEntities>
        </cstTable>
      </SubEntities>
    </cstSectionTables>
    <cstSectionBlocks Name="BLOCKS">
      <SubEntities>
        <cstBlock name="block1">
          <SubEntities>
            <cstLine point="0,0,0" point1="50,0,0" />
            <cstText point="0,3,0" text="This is a block" height="3" />
          </SubEntities>
        </cstBlock>
      </SubEntities>
    </cstSectionBlocks>
    <!-- Add entities Model -->
    <cstInsert blockname="block1" point="0,50,0" layer="Layer2" />
    <cstLine point="10,10,0" point1="20,30,0" Color="0;1;" HandleSave="@1" />
    <cstCircle point="10,10,0" radius="20" HandleSave="@2" />
    <cstText point="0,-20,0" text="Enghlish Русский Franzosisch Francais" height="3" />
    <!-- Add to an existing block -->
    <cstSectionBlocks Name="BLOCKS">
      <SubEntities>
        <cstBlock name="block1">
          <SubEntities>
            <cstLWPolyline>
              <SubEntities>
                <cstVertex point="10,10,0" />
                <cstVertex point="10,40,0" />
                <cstVertex point="40,40,0" />
              </SubEntities>
            </cstLWPolyline>
          </SubEntities>
        </cstBlock>
      </SubEntities>
    </cstSectionBlocks>
  </add>
  <fittosize />
  <!-- To get the handle of the created entities, use the attribute HandleSave="@Index". -->
  <!-- Then you'll be able to use it as an alias to the real Handle of the object. -->
  <!-- To get the real Handle, use the command <get Handle="@Index"/> -->
  <get Handle="@1" />
</cadsofttools>

Example 3:
Description: the example shows how to work with HandleSave
 
<?xml version="1.0" encoding="utf-8"?>
<cadsofttools version="2">
  <!-- Description: the example shows how to work with HandleSave -->  
  <add>     
    <cstText point="10,10,0" Text="HandleSave is @77" Height="3" HandleSave="@77" />  
</add>            
<!-- Handles alias @77 can be used for select and other instructions -->
<select Handle="@77" />
 <apply Color="0;1;"/>     
<FitToSize/>                      
   <!-- Signs to OnSelectEntity event. Handle in result will be the last selected entity. 
    If you press the entity which is created in this example, the result will be its real Handle. -->
  <signtoevent Event="OnSelectEntity"/>
</cadsofttools>                       


apply

Description: Instruction APPLY assigns new values to the entity attributes. The entity must be selected at first, by using Select Instruction, by mouse, etc.

Syntax:

<apply Parameters ="String" />
apply parameters are:
Parameter Type Description
Parameters String Any object's attribute that has no read-only modifiers can be used as a parameter


The returned value has the following structure:
Result parameters are:
Parameter Type Description
Instruction String The name of the command which the result is for

Result field accepts the following child:
Parameter Type Description
Output List Contains the result of the command
Errors List Contains the errors of the command


Example:
 
<?xml version="1.0" encoding="UTF-8"?>
<cadsofttools version="2">
    <!-- Description: Instruction APPLY assigns new values to the entity attributes. The entity must be selected at first, by using Select Instruction, by mouse, etc. -->  
    <!-- XML for adding a line to select by handle parameter -->
    <add>     
        <cstLine point="0,0,0" Point1="10,0,0" Handlesave="@1" />
    </add>                  
                   
    <Select Handle="@1"/>                       
    <apply lineweight="7" point1="50,10,0" Color="0;33;"/>
    <!-- Zoom rect of the selected entities to the screen -->
    <ShowSelectedEntities/>            
    <UnSelect Handle="@1"/>  
</cadsofttools>                     

Example 2:
 
<?xml version="1.0" encoding="UTF-8"?>
<cadsofttools version="2">
  <!--Description: Changing layer properties. -->
  <!--Adds layers-->
  <add>   
      <cstSectionTables Name="TABLES">
      <SubEntities>
        <cstTable Name="LAYER">
          <SubEntities>
            <cstLayer name="Layer1" Color="0;3;" />
            <cstLayer name="Layer2"/> 
          </SubEntities>
        </cstTable> 
      </SubEntities>
    </cstSectionTables>
  </add> 
  <!--Selection of layers for changing. 
  IMPORTANT! While selecting the objects that are not visible in the area Model it is necessary to state the parameter Marker="false"-->
  <select PathName="TABLES;LAYER;Layer1" Marker="false"/>   
  <!--Assignation of new values to the properties of the selected layers. -->
  <apply visible="false" Locked="true"/>  
  <!--Deselection of the selected layers.-->     
  <unselect PathName="TABLES;LAYER;Layer1" Marker="false"/>
</cadsofttools>    

Example 3:
Description: Changing of the text style properties; setting of the current text style.
 
<?xml version="1.0" encoding="UTF-8"?>
<cadsofttools version="2">
  <!-- Description: Changing of the text style properties; setting of the current text style. -->
  <!--XML for adding a new text style --> 
   <add>
      <cstSectionTables Name="TABLES">
         <SubEntities>
            <cstTable Name="STYLE">
               <SubEntities>
                  <cstStyle Name="Arial bold" PrimaryFont="arialbd.ttf" FontName="Arial" FontStyle="2"/>
               </SubEntities>                  
            </cstTable>
         </SubEntities>
      </cstSectionTables>
   </add>
  <!--Selection of a text style according to its name and assignation of new values to the text style properties. 
  IMPORTANT! While selecting the objects that are not visible in the area Model it is necessary to state the parameter Marker="false" -->
   <select PathName="TABLES;STYLE;Arial bold;" Marker="false"/>
   <apply PrimaryFont="arialbi.ttf" FontStyle="3" FixedHeight="6"/>
   <unselect PathName="TABLES;STYLE;Arial bold" Marker="false"/>
  <!--Setting a new text style as the current one. -->
   <command text="TextStyle "Arial bold""/> 
</cadsofttools>

Example 4:
Description: Changing of the dimension style properties; setting the current dimension style.
 
<?xml version="1.0" encoding="UTF-8"?>
<cadsofttools version="2">
  <!-- Description: Changing of the dimension style properties; setting the current dimension style. -->
  <!-- ArrowType = DimRBlk: 
  0 = _CLOSEDFILLED; 1 =_CLOSEDBLANK; 2 = _CLOSED; 3 = _DOT; 4 = _ARCHTICK; 5 = _OBLIQUE; 6 = _OPEN; 7 = _ORIGIN;  
  8 = _ORIGIN2; 9 = _OPEN90; 10 = _OPEN30; 11 = _DOTSMALL; 12 = _DOTBLANK; 13 = _SMALL; 14 = _BOXBLANK; 15 = _BOXFILLED;
  16 = _DATUMBLANK; 17 = _DATUMFILLED; 18 = _INTEGRAL; 20 = _NONE.-->
     <add>
      <cstSectionTables Name="TABLES">
         <SubEntities>       
            <cstTable Name="DIMSTYLE">
               <SubEntities>
                  <cstDimensionStyle Name="CADSoftTools" DimTxt="3.5" DimBlk="_OBLIQUE" DimBlk1="_OBLIQUE" DimBlk2="_OBLIQUE" DimAsz="2.5"/>
               </SubEntities>                  
            </cstTable>                                              
         </SubEntities>
      </cstSectionTables>
   </add>                
  <!--Selection of a dimension style according to its name and assignation of new values to the dimension style properties. 
  IMPORTANT! While selecting the objects that are not visible in the area Model it is necessary to state the parameter Marker="false" -->
   <select PathName="TABLES;DIMSTYLE;STANDARD;" Marker="false"/>
   <apply DimBlk="_ARCHTICK" DimBlk1="_ARCHTICK" DimBlk2="_ARCHTICK" DimAsz="0.25" DimTxt="0.3"/>
   <unselect PathName="TABLES;DIMSTYLE;STANDARD" Marker="false"/>
  <!--Setting the dimension style as the current one. -->
   <command text="DimStyle "CADSoftTools""/> 
</cadsofttools> 


buttonmenu

Add or delete button by tools palette

Syntax:

<buttonmenu Caption ="String" />
buttonmenu parameters are:
Parameter Type Description
Caption String Caption of button


The returned value has the following structure:
Result parameters are:
Parameter Type Description
Instruction String The name of the command which the result is for

Result field accepts the following child:
Parameter Type Description
Output List Contains the result of the command
Errors List Contains the errors of the command



capturescreen

Unsupported.

The returned value has the following structure:
Result parameters are:
Parameter Type Description
Instruction String The name of the command which the result is for

Result field accepts the following child:
Parameter Type Description
Output List Contains the result of the command
Errors List Contains the errors of the command

Output parameters are:
Parameter Type Description
Format String Output file format
base64 Base64 Picture in Base64 encoding.



command

Description: Instruction Command executes Command line with parameters described in Text attribute. Commands are described in the user manual, also there are many command examples provided in "Commands" section.

Syntax:

<command Text ="String" />
command parameters are:
Parameter Type Description
Text String Text for the console command line, help, etc.


The returned value has the following structure:
Result parameters are:
Parameter Type Description
Instruction String The name of the command which the result is for

Result field accepts the following child:
Parameter Type Description
Output List Contains the result of the command
Errors List Contains the errors of the command

Output parameters are:
Parameter Type Description
Result List Result data.


Example:
 
<?xml version="1.0" encoding="UTF-8"?>
<cadsofttools version="2">
    <!-- Description: Instruction Command executes Command line with parameters described in Text attribute. Commands are described in the user manual, also there are many command examples provided in "Commands" section. -->
                                                                                                                                       
    <!-- Executes "Line" command, i.e. starts to draw a line with the mouse: -->
  <command text="line"/>                                               
</cadsofttools>                                                


ContextMenu

Description: Context menu instruction allows to replace the context menu by a new one or to add new menu items to the top or to the end of the current menu. When the user clicks on a menu item, its caption returns as event <MenuItemClick caption=" "/> Sender and onClick parameters of theItem are optional. They should be direct addresses to Sender object and onPopup event pointers in a parent application.

Syntax:

<ContextMenu Mode ="Integer" />
ContextMenu parameters are:
Parameter Type Description
Mode Integer Context menu mode: 0: replace, 1: add to bottom, 2: add to top

ContextMenu field accepts the following child:
Parameter Type Description
Items List Accepts Item child nodes.

Items field accepts the following child:
Parameter Type Description
Item ListItem Creates a context menu item with the caption from parameter "caption". This caption is returned as result data when the item is clicked.

Item parameters are:
Parameter Type Description
caption String Caption of a menu item


The returned value has the following structure:
Result parameters are:
Parameter Type Description
Instruction String The name of the command which the result is for

Result field accepts the following child:
Parameter Type Description
Output List Contains the result of the command
Errors List Contains the errors of the command

Output field accepts the following child:
Parameter Type Description
Parameters String Any object's attribute that has no read-only modifiers can be used as a parameter


Example:
 
<?xml version="1.0" encoding="UTF-8"?>
<cadsofttools version="2">
<!-- Description: Context menu instruction allows to replace the context menu by a new one or to add new menu items to the top or to the end of the current menu. 
When the user clicks on a menu item, its caption returns as event <MenuItemClick caption=" "/>
 Sender and onClick parameters of theItem are optional. They should be direct addresses to Sender object and onPopup event pointers in a parent application. -->
<!-- mode: 0 - replace, 1 - to bottom, 2: to top -->
  <contextmenu mode="2">                     
    <items>
      <item caption="Menu Item 1"/>
      <item caption="Menu Item 2" Sender="$00000000" />
      <item caption="Menu Item 3" Sender="$00000000" onClick="$00000000"/>
      <item caption="Menu Item 4" Sender="$00000000" onClick="$00000000" onPopup="$00000000"/>
    </items>
  </contextmenu>
</cadsofttools>                      


CreateHatch

Description: Instruction CREATEHATCH creates Hatch using selecte entities as countours. Please select entity by mouse or by xml Instruction SELECT before calling this Instruction.

Syntax:

<CreateHatch HatchName ="String" Angle ="Double" PatternScale ="Double" Color ="ColorCAD" />
CreateHatch parameters are:
Parameter Type Description
HatchName String Hatch name
Angle Double Angle
PatternScale Double Pattern scale
Color ColorCAD Color CAD


The returned value has the following structure:
Result parameters are:
Parameter Type Description
Instruction String The name of the command which the result is for

Result field accepts the following child:
Parameter Type Description
Output List Contains the result of the command
Errors List Contains the errors of the command

Output field accepts the following child:
Parameter Type Description
Selected ListItem Stores handles of the selected entities

Selected parameters are:
Parameter Type Description
Handle EntHandle Handle can be given directly via $ or indirectly via @ attributes, it also accepts a list of handles divided by the ";" sign. For example: Handle="$24", Handle="@1", Handle="@;$27;$28"


Example:
 
<?xml version="1.0" encoding="UTF-8"?>
<!-- Description: Instruction CREATEHATCH creates Hatch using selecte entities as countours. 
     Please select entity by mouse or by xml Instruction SELECT before calling this Instruction.-->
<!-- Syntax:
     <createhatch Hatchname="" Angle="" PatternScale="" Color=""/>
     Attributes:
     Hatchname - string - name of Hatch, default is "SOLID" which creates a solid hatch. 
     Other names: "Box", "Escher" and others can be found in Hatch dialog in user interface.
     Angle - Double - rotation angle of hatch
     PatternScale - Double - scale of hatch's pattern 
     Color - sring CADSoftTools color structure - color as index or RGB
-->

<cadsofttools version="2">
  <!-- Create simple rectangular Solid Hatch. Handle of polyline is saved as "@1" -->
  <add>
    <cstLWPolyline HandleSave="@1">
      <SubEntities>     
        <cstVertex Point="140,100,0"/> 
        <cstVertex Point="141,100,0"/> 
        <cstVertex Point="141,103,0"/> 
        <cstVertex Point="140,103,0"/> 
      </SubEntities>
    </cstLWPolyline>
  </add>      
  <!-- Select polyline -->
  <Select Handle="@1"/>
  <!-- Create hatch -->
  <createhatch/>
  <UnSelect Handle="@1"/>

  <!-- Create polyline for Hatch,  -->
  <add>
    <cstLWPolyline HandleSave="@2">
      <SubEntities>    
        <cstVertex Point="141,109,0"/> 
        <cstVertex Point="142,112,0"/> 
        <cstVertex Point="143,109,0"/> 
        <cstVertex Point="147,109,0"/> 
        <cstVertex Point="144,107,0"/> 
        <cstVertex Point="145,105,0"/> 
        <cstVertex Point="142,107,0"/> 
        <cstVertex Point="141,105,0"/> 
        <cstVertex Point="141,107,0"/> 
        <cstVertex Point="138,108,0"/> 
        <cstVertex Point="141,109,0"/> 
      </SubEntities>
    </cstLWPolyline>
  </add>
  <!-- Select polyline -->
  <Select Handle="@2"/>
  <!-- Create hatch -->
  <createhatch hatchname="BOX" Angle="30" PatternScale="0.1"  Color="0;34;"/>
  <UnSelect Handle="@2"/>

  <!-- Create and select some countours for creating hatch. -->
  <add>
    <cstLine point="120,120,0"  point1="130,130,0" Color="0;3;" HandleSave="@3"/>
    <cstLine point="120,120,0"  point1="130,110,0" Color="0;3;" HandleSave="@4"/>
    <cstLine point="130,110,0"  point1="130,130,0" Color="0;3;" HandleSave="@5"/>
    <cstCircle point="100,100,0"  radius="10" Color="0;3;" HandleSave="@6"/>
  </add>
  <!-- Select contours -->
  <Select Handle="@3;@4;@5;@6;"/>
  <createhatch hatchname="SOLID" Color="0;3;"/>
  <UnSelect/>

  <fittosize/>
</cadsofttools>    


CustomSelectMode

The CUSTOMSELECTMODE instruction allows defining custom selections and turning on the read-only mode with a possibility to select certain entities.

Syntax:

<CustomSelectMode CustomDraw ="Boolean" ReadOnly ="Boolean" AskOnDelete ="Boolean" Color ="ColorCAD" LineWeight ="Double" Handle ="EntHandle" />
CustomSelectMode parameters are:
Parameter Type Description
CustomDraw Boolean The selected entities are drawn with custom color and lineweight
ReadOnly Boolean Read-only status
AskOnDelete Boolean If true, the library asks before deleting entities, whose handles are specified in the CUSTOMSELECTMODE parameters
Color ColorCAD Color CAD
LineWeight Double Line weight
Handle EntHandle Handle can be given directly via $ or indirectly via @ attributes, it also accepts a list of handles divided by the ";" sign. For example: Handle="$24", Handle="@1", Handle="@;$27;$28"


The returned value has the following structure:
Result parameters are:
Parameter Type Description
Instruction String The name of the command which the result is for

Result field accepts the following child:
Parameter Type Description
Output List Contains the result of the command
Errors List Contains the errors of the command


Example:
 
<?xml version="1.0" encoding="UTF-8"?>
<cadsofttools version="2">
   <add>
      <cstLine Point="0,0"  Point1="10,5" HandleSave="@1"/>     
      <cstText Point="2,3" Text="Example text" Height="0.5" HandleSave="@2"/>
      <cstLine Point="0,-3"  Point1="10,2" HandleSave="@3"/>      
   </add>                
                                                                           
   <!--Changes the color and the line weight of the object selection for all the drawings.-->
   <CustomSelectMode CustomDraw="True" Color="0;33;" LineWeight="3" />
                                                                                                
   <!-- Changes the color and the line weight of the object selection for the object with Handle=@3 
   and displays a confirmation dialog when deleting it. --> 
   <CustomSelectMode ReadOnly="False" AskOnDelete="True" CustomDraw="True" Color="0;5;" LineWeight="2" Handle="@3"/>
           
   <!-- The object with Handle="@2" is read only; it cannot be deleted. -->
   <CustomSelectMode ReadOnly="True" Handle="@1"/>
                 
   <fittosize/>
</cadsofttools>


delete

The DELETE instruction deletes the selected entities.

The returned value has the following structure:
Result parameters are:
Parameter Type Description
Instruction String The name of the command which the result is for

Result field accepts the following child:
Parameter Type Description
Output List Contains the result of the command
Errors List Contains the errors of the command


Example:
 
<?xml version="1.0" encoding="UTF-8"?>
<cadsofttools version="2">
  <!-- Selects entities to delete -->
  <select Handle="@1"/>
  <delete/>
</cadsofttools>


Editor

The EDITOR instruction specifies parameters for the CAD editor.

Syntax:

<Editor ReadOnly ="Boolean" ShowEntityPrecision ="Double" ShowEntityMethod ="Byte" />
Editor parameters are:
Parameter Type Description
ReadOnly Boolean Read-only status
ShowEntityPrecision Double Property of the ShowSelectEntities instruction, a value of the precision calculation.
ShowEntityMethod Byte Property of the ShowSelectEntities instruction, the type of the precision calculation. Possible parameters are (0: Proportional, 1: Absolute, 2: FitToSize)


The returned value has the following structure:
Result parameters are:
Parameter Type Description
Instruction String The name of the command which the result is for

Result field accepts the following child:
Parameter Type Description
Output List Contains the result of the command
Errors List Contains the errors of the command


Example:
 
<?xml version="1.0" encoding="UTF-8"?>
<cadsofttools version="2">
   <add>
      <cstLWPolyline>
         <SubEntities>
            <cstVertex Point="0,0"/>
            <cstVertex Point="10,0"/>
            <cstVertex Point="10,5"/> 
            <cstVertex Point="0,5"/>             
            <cstVertex Point="0,0"/>                         
         </SubEntities>
      </cstLWPolyline> 
   </add>   
         
   <!-- The editor is switched to the ReadOnly mode, modifying of objects is turned off for the current drawing, 
   but it is possible to add new elements. -->
   <Editor ReadOnly="True"/>    
               
   <fittosize/>
</cadsofttools>                  

Example 2:
 
<?xml version="1.0" encoding="UTF-8"?>
<cadsofttools version="2">
   <add>
      <cstLWPolyline HandleSave="@1">
         <SubEntities>
            <cstVertex Point="0,0"/>
            <cstVertex Point="10,0"/>
            <cstVertex Point="10,10"/> 
            <cstVertex Point="0,10"/>             
            <cstVertex Point="0,0"/>                         
         </SubEntities>
      </cstLWPolyline> 
      <cstLine Point="-5,3" Point1="2,7" HandleSave="@2"/>
   </add>   

   <!-- The Editor instruction specifies global settings for the ShowSelectedEntities instruction. 
   The ShowEntityMethod parameter can have the following values: 
   0- offset is specified in percents from the size of the selected object; 
   1- offset is specified in pixels; 
   2- there is no offset. -->
   <!-- In this example, the offset is defined as 10 pixels from the working area in the ShowSelectedEntities instruction, 
   then the object with Handle="@2" is selected and is fitted to the working area with the help 
   of the ShowSelectedEntities instruction with the margins set. -->    
   <Editor ReadOnly="False" ShowEntityMethod="1" ShowEntityPrecision="20"/>       
                                                            
   <Select Handle="@2"/>
   <ShowSelectedEntities/>
   <UnSelect Handle="@2"/>   
</cadsofttools>                                                                                             


FitToSize

Description: The instruction FITTOSIZE fits the drawing to the view area proportionally.

The returned value has the following structure:
Result parameters are:
Parameter Type Description
Instruction String The name of the command which the result is for

Result field accepts the following child:
Parameter Type Description
Output List Contains the result of the command
Errors List Contains the errors of the command


Example:
 
<?xml version="1.0" encoding="utf-8"?>
<cadsofttools version="2">
  <!-- Description: The instruction FITTOSIZE fits the drawing to the view area proportionally. -->  
    <fittosize/>
  </cadsofttools>                                                         


get

Description: Instruction GET returns the full structure of the drawing if no parameters are given as a result. If handle parameter is provided, the instruction returns properties of the entity specified by this handle.

Syntax:

<get Handle ="EntHandle" PathName ="String" />
get parameters are:
Parameter Type Description
Handle EntHandle Handle can be given directly via $ or indirectly via @ attributes, it also accepts a list of handles divided by the ";" sign. For example: Handle="$24", Handle="@1", Handle="@;$27;$28"
PathName String A set of symbols showing the location of the named sections or objects in the Converter name space (which is similar to the DXF structure). As a separator the sign ";" is used.


The returned value has the following structure:
Result parameters are:
Parameter Type Description
Instruction String The name of the command which the result is for

Result field accepts the following child:
Parameter Type Description
Output List Contains the result of the command
Errors List Contains the errors of the command

Output field accepts the following child:
Parameter Type Description
DrawingData List Drawing data structure


Example:
 
<?xml version="1.0" encoding="UTF-8"?>
<cadsofttools version="2">
<!-- Description: Instruction GET returns the full structure of the drawing if no parameters are given as a result. 
 If handle parameter is provided, the instruction returns properties of the entity specified by this handle. -->
  <get/>
</cadsofttools>

Example 2:
Description: This example adds an entity and gets its parameters. HandleSave="@1" and Handle="@1" are used for handling of the entity.
 
<?xml version="1.0" encoding="UTF-8"?>
<cadsofttools version="2">
<!-- Description: This example adds an entity and gets its parameters. 
HandleSave="@1" and Handle="@1" are used for handling of the entity. -->
  <add>
    <cstLine point="10,10,0" point1="20,30,0" Color="0;1;" HandleSave="@1" />
  </add>
  <get Handle="@1"/>
</cadsofttools>                                  

Example 3:
 
<?xml version="1.0" encoding="UTF-8"?>
<cadsofttools version="2">
  <!-- PathName allows to get access to the object according to its path in the Converter name space -->
   <!-- Example: "TABLES;LAYER" "TABLES;STYLE;STANDARD" -->
  <get PathName="TABLES;LAYER"/>
</cadsofttools>

Example 4:
Description: use of the filter in the instruction GET.
 
<?xml version="1.0" encoding="UTF-8"?>
<cadsofttools version="2">
<!-- Description: use of the filter in the instruction GET. -->
<!-- Getting of the red lines and the green circles situated in the layer called “Layer1”. -->  
  <get Layer="Layer1">                                                                                       
    <cstLine color="0;1;"/>        
    <cstCircle color="0;3;"/>
  </get>

<!-- Getting of all block references of the drawing. -->
  <get>
    <cstInsert/>               
  </get>  

<!-- Getting a list of invisible layers. -->
  <get PathName="TABLES;LAYER;" Visible="false"/>  
</cadsofttools> 


getbox

Returns the 3D box that encloses the selected entities.

Syntax:

<getbox Handle ="EntHandle" PathName ="String" />
getbox parameters are:
Parameter Type Description
Handle EntHandle Handle can be given directly via $ or indirectly via @ attributes, it also accepts a list of handles divided by the ";" sign. For example: Handle="$24", Handle="@1", Handle="@;$27;$28"
PathName String A set of symbols showing the location of the named sections or objects in the Converter name space (which is similar to the DXF structure). As a separator the sign ";" is used.


The returned value has the following structure:
Result parameters are:
Parameter Type Description
Instruction String The name of the command which the result is for

Result field accepts the following child:
Parameter Type Description
Output List Contains the result of the command
Errors List Contains the errors of the command

Output parameters are:
Parameter Type Description
Box FRect Box


Example:
 
<?xml version="1.0" encoding="UTF-8"?>
<cadsofttools version="2">
  <getbox/>
  <select Handle="@1;@2"/>
  <getbox/>
  <unselect Handle="@1;@2"/>
  <getbox Handle="@1;@2"/>
  <getbox PathName="BLOCKS;block1"/>
</cadsofttools>


getcadcoords

Convert point to cad coordinat system

Syntax:

<getcadcoords Point ="FPoints2DOr3D" />
getcadcoords parameters are:
Parameter Type Description
Point FPoints2DOr3D points for conversion to cad coordinate system


The returned value has the following structure:
Result parameters are:
Parameter Type Description
Instruction String The name of the command which the result is for

Result field accepts the following child:
Parameter Type Description
Output List Contains the result of the command
Errors List Contains the errors of the command


Example:
 
<?xml version="1.0" encoding="utf-8"?>
<cadsofttools version="2">
  <getcadcoords Point="10,10"/>                 
</cadsofttools>                               


getdrawingchanged

Description: GETDRAWINGCHANGED instruction checks if any changes have been made in a Drawing. The result parameter CHANGED returns True if any changes have been implemeted in a Drawing.

The returned value has the following structure:
Result parameters are:
Parameter Type Description
Instruction String The name of the command which the result is for

Result field accepts the following child:
Parameter Type Description
Output List Contains the result of the command
Errors List Contains the errors of the command

Output parameters are:
Parameter Type Description
Changed Boolean CHANGED returns True if any changes were implemented in a Drawing.


Example:
 
<?xml version="1.0" encoding="UTF-8"?>
<cadsofttools version="2">
  <!-- Description: GETDRAWINGCHANGED instruction checks if any changes have been made in a Drawing. The result parameter CHANGED returns True if any changes have been implemeted in a Drawing. -->  
  <getdrawingchanged/>                                                          
</cadsofttools>


getdrawingslist

Returns guids for all opened drawings.

The returned value has the following structure:
Result parameters are:
Parameter Type Description
Instruction String The name of the command which the result is for

Result field accepts the following child:
Parameter Type Description
Output List Contains the result of the command
Errors List Contains the errors of the command

Output field accepts the following child:
Parameter Type Description
Drawing ListItem Drawing item

Drawing parameters are:
Parameter Type Description
Guid String Drawing Guid
File String Path to the file
Index Integer Drawing Index
Mode Integer Full drawing mode


Example:
 
<?xml version="1.0" encoding="UTF-8"?>
<cadsofttools version="2">
  <getdrawingslist/>
</cadsofttools>


GetExternalFiles

Returns a list of referenced files with paths.

The returned value has the following structure:
Result parameters are:
Parameter Type Description
Instruction String The name of the command which the result is for

Result field accepts the following child:
Parameter Type Description
Output List Contains the result of the command
Errors List Contains the errors of the command

Output field accepts the following child:
Parameter Type Description
ExternalFile ListItem External file item

ExternalFile parameters are:
Parameter Type Description
File String Path to the file


Example:
 
<?xml version="1.0" encoding="UTF-8"?>
<cadsofttools version="2">
  <!-- Returns a list of dependent files (xref, imagedef) -->
  <GetExternalFiles/>
</cadsofttools>


getimage

Description: Returns picture of the current view in Base64 encoding.

Syntax:

<getimage Top ="Integer" Left ="Integer" Right ="Integer" Bottom ="Integer" Width ="Integer" Height ="Integer" />
getimage parameters are:
Parameter Type Description
Top Integer Top
Left Integer Left
Right Integer Right
Bottom Integer Bottom
Width Integer Width
Height Integer Height


The returned value has the following structure:
Result parameters are:
Parameter Type Description
Instruction String The name of the command which the result is for

Result field accepts the following child:
Parameter Type Description
Output List Contains the result of the command
Errors List Contains the errors of the command

Output field accepts the following child:
Parameter Type Description
base64 Base64 Picture in Base64 encoding.


Example:
 
<?xml version="1.0" encoding="UTF-8"?>
<cadsofttools version="2">
    <!-- Description:  Returns picture of the current view in Base64 encoding. -->
  <getimage>
      <ExportParams FileName = "C:\Users\softgold5\Documents\ABViewer 11\Drawings\Image" Format=".png"><!-- attribute 'FileName' calls additional saving to file -->
         <Width>1024</Width><!--always needs setup  -->
         <Height>768</Height><!--always needs setup -->
         <Proportional>True</Proportional>
         <BitPerPixel>24</BitPerPixel>
         <MeasureInPixels>True</MeasureInPixels>
         <Transparent>True</Transparent>
         <BackgroundColor>$FFFFFF</BackgroundColor><!--default value white -->
         <DefaultColor>$000000</DefaultColor><!--default value black -->
         <ClipMode>4</ClipMode>
         <ClipRect>0,0,0,2048,1536,0</ClipRect>
         <LayoutNameExportMode>Layout Bud2</LayoutNameExportMode><!--default current layout. The first char '@' of this name is layout index -->
      </ExportParams>
    </getimage>
</cadsofttools>


getselected

Description: Instruction GETSELECTED returns handles of the selected entities.

The returned value has the following structure:
Result parameters are:
Parameter Type Description
Instruction String The name of the command which the result is for

Result field accepts the following child:
Parameter Type Description
Output List Contains the result of the command
Errors List Contains the errors of the command

Output parameters are:
Parameter Type Description
SelectedCount Integer The number of the selected entities

Output field accepts the following child:
Parameter Type Description
Selected ListItem Stores handles of the selected entities

Selected parameters are:
Parameter Type Description
Handle EntHandle Handle can be given directly via $ or indirectly via @ attributes, it also accepts a list of handles divided by the ";" sign. For example: Handle="$24", Handle="@1", Handle="@;$27;$28"


Example:
 
<?xml version="1.0" encoding="UTF-8"?>
<cadsofttools version="2">
    <!-- Description: Instruction GETSELECTED returns handles of the selected entities.  -->
  <getselected/>
</cadsofttools>


GetView

The GETVIEW instruction asks current view area as cstVport data. Use with SETVIEW instruction.

The returned value has the following structure:
Result parameters are:
Parameter Type Description
Instruction String The name of the command which the result is for

Result field accepts the following child:
Parameter Type Description
Output List Contains the result of the command
Errors List Contains the errors of the command


Example:
 
<?xml version="1.0" encoding="UTF-8"?>
<cadsofttools version="2">
  <getview/>
</cadsofttools>


getviewrect

Unsupported

The returned value has the following structure:
Result parameters are:
Parameter Type Description
Instruction String The name of the command which the result is for

Result field accepts the following child:
Parameter Type Description
Output List Contains the result of the command
Errors List Contains the errors of the command

Output field accepts the following child:
Parameter Type Description
VisibleArea ListItem VisibleArea item
CADArea ListItem CADArea item

VisibleArea parameters are:
Parameter Type Description
Width Integer Width
Height Integer Height

CADArea parameters are:
Parameter Type Description
Rect FRect Rect


Example:
 
<?xml version="1.0" encoding="UTF-8"?>
<cadsofttools version="2">
  <getviewrect/>
</cadsofttools>


Help

Creates CAD XML API help in html format

Syntax:

<Help Text ="String" File ="String" PathToXMLExamples ="String" />
Help parameters are:
Parameter Type Description
Text String Text for the console command line, help, etc.
File String Path to the file
PathToXMLExamples String The path to the parent XML examples directory for using them in the HTML Help.


The returned value has the following structure:
Result parameters are:
Parameter Type Description
Instruction String The name of the command which the result is for

Result field accepts the following child:
Parameter Type Description
Output List Contains the result of the command
Errors List Contains the errors of the command



Invalidate

Invalidates the current layout or area specified by the Box attribute.

Syntax:

<Invalidate Box ="FRect" />
Invalidate parameters are:
Parameter Type Description
Box FRect Box


The returned value has the following structure:
Result parameters are:
Parameter Type Description
Instruction String The name of the command which the result is for

Result field accepts the following child:
Parameter Type Description
Output List Contains the result of the command
Errors List Contains the errors of the command


Example:
 
<?xml version="1.0" encoding="UTF-8"?>
<cadsofttools version="2">
  <Invalidate/>
  <Invalidate Box="10,10,0,1,1,0"/>
</cadsofttools>


load

The LOAD instruction loads a file from the HDD or from a URL.

Syntax:

<load File ="String" base64 ="Base64" />
load parameters are:
Parameter Type Description
File String Path to the file
base64 Base64 Picture in Base64 encoding.


The returned value has the following structure:
Result parameters are:
Parameter Type Description
Instruction String The name of the command which the result is for

Result field accepts the following child:
Parameter Type Description
Output List Contains the result of the command
Errors List Contains the errors of the command

Output parameters are:
Parameter Type Description
Guid String Drawing Guid
File String Path to the file
Index Integer Drawing Index



menuItemClick

MenuItemClick is a result instruction only. it returns the caption of a clicked context menu item and its index.

The returned value has the following structure:
Result parameters are:
Parameter Type Description
Instruction String The name of the command which the result is for

Result field accepts the following child:
Parameter Type Description
Output List Contains the result of the command
Errors List Contains the errors of the command



Registration

The REGISTRATION instruction can be used to input a license key for CADSoftTools software.

Syntax:

<Registration User ="String" EMail ="String" Key ="String" />
Registration parameters are:
Parameter Type Description
User String User
EMail String EMail
Key String Key


The returned value has the following structure:
Result parameters are:
Parameter Type Description
Instruction String The name of the command which the result is for

Result field accepts the following child:
Parameter Type Description
Output List Contains the result of the command
Errors List Contains the errors of the command

Output parameters are:
Parameter Type Description
Registration Integer Registration


Example:
 
<?xml version="1.0" encoding="UTF-8"?>
<cadsofttools version="2">
<!--0 - Registration error. -->
<!--1 - Registration was successful. -->
<!--2 - The application has been registered before. -->
  <registration User="" EMail="" Key=""/>
</cadsofttools>


ribbon

Defines the ribbon visibility. Use the instruction with the on/off switch.

Syntax:

<ribbon Visible ="Boolean" />
ribbon parameters are:
Parameter Type Description
Visible Boolean Visible


The returned value has the following structure:
Result parameters are:
Parameter Type Description
Instruction String The name of the command which the result is for

Result field accepts the following child:
Parameter Type Description
Output List Contains the result of the command
Errors List Contains the errors of the command



save

Saves the current drawing. The ExportParams attribute must be defined.
save field accepts the following child:
Parameter Type Description
ExportParams List ExportParams is a child attribute of the SAVE instruction.

ExportParams field accepts the following child:
Parameter Type Description
Width Integer Width
Height Integer Height
Proportional Boolean
BitPerPixel Byte
MeasureInPixels Boolean
Transparent Boolean Sets transparency for GIF
DPUX Byte DPI X
DPUY Byte DPI Y
Compression String Compression for raster: LZW, Deflate, JPEG, CCITT3, CCITT4, CCITT6, Rle, Auto, None
PageHeight Integer Page Height
Author String Author
LayoutExportMode Byte Selects layouts to be exported: 0: Model; 1: AllLayouts; 2:LayoutByName; 3:AllPaperSpaces; 4:CurrentLayout.
LayoutNameExportMode String Layout name, used if layouts export mode is "LayoutByName."
Version String DWG or DXF version. For instance: acR2004, acR2000.
IsConvertImageToOLE Boolean Converts external images to OLE in DWG/DXF export.


The returned value has the following structure:
Result parameters are:
Parameter Type Description
Instruction String The name of the command which the result is for

Result field accepts the following child:
Parameter Type Description
Output List Contains the result of the command
Errors List Contains the errors of the command


Example:
 
<?xml version="1.0" encoding="UTF-8"?>
<cadsofttools version="2">
  <!-- Saves using XML export parametrs -->

  <!-- Saves as a raster image-->      
  <save>
      <ExportParams FileName="C:\Users\softgold5\Documents\ABViewer 11\Drawings\ImageJPG" Format=".jpg">
         <Width>1024</Width>
         <Height>-1</Height>
         <Proportional>True</Proportional>
         <BitPerPixel>24</BitPerPixel>
         <!-- Set quality in percent for JPG -->
         <Quality>100</Quality>
         <MeasureInPixels>True</MeasureInPixels>
         <!-- Set transparent for GIF -->
         <Transparent>False</Transparent>
         <!-- Set dpi for JPG: always 2 parameters -->        
         <DPUX>96</DPUX>
         <DPUY>96</DPUY>
        <!-- Compression for TIFF: LZW, Deflate, JPEG, CCITT3, CCITT4, CCITT6, Rle, Auto, None -->
        <Compression>LZW</Compression>
      </ExportParams>
  </save>

  <!-- Saves as PDF-->
  <save>
      <ExportParams FileName="C:\Users\softgold5\Documents\ABViewer 11\Drawings\ImagePDF" Format=".pdf">
         <PageWidth>1024</PageWidth>
         <PageHeight>1024</PageHeight>
         <Author>Author</Author>
         <!-- Select layouts for export:
              0: Model;
              1: AllLayouts;
              2:LayoutByName;
              3:AllPaperSpaces;
              4:CurrentLayout;  -->
         <LayoutExportMode>3</LayoutExportMode>
         <!-- Used if layouts export mode is 'LayoutByName' -->
         <LayoutNameExportMode/>
      </ExportParams>
  </save> 
                                     
  <!-- Saves as PNG -->
  <save>
      <ExportParams FileName="C:\Users\softgold5\Documents\ABViewer 11\Drawings\ImagePNG" Format=".png">
         <Width>1024</Width>
         <Height>-1</Height>
         <Proportional>True</Proportional>
         <BitPerPixel>24</BitPerPixel>
         <MeasureInPixels>True</MeasureInPixels>
      </ExportParams>
  </save>

  <!-- When saving to DXF and DWG, the format version is inidicated in the Version parameter in the following way:
       AC1006 = R10;
       AC1009 = R11 and R12;
       AC1012 = R13; AC1014 = R14;
       AC1015 = AutoCAD2000;
       AC1018 = AutoCAD2004;
       AC1021 = AutoCAD2007;
       AC1024 = AutoCAD2010-->

  <!-- Saves as DXF -->
  <save>
      <ExportParams FileName="C:\Users\softgold5\Documents\ABViewer 11\Drawings\ImageDXF" Format=".dxf">
        <Version>AutoCAD2004</Version>
        <IsConvertImageToOLE>True</IsConvertImageToOLE>
      </ExportParams>
  </save>

  <!-- Saves as DWG -->
  <save>
      <ExportParams FileName="C:\Users\softgold5\Documents\ABViewer 11\Drawings\ImageDWG" Format=".dwg">
        <Version>AutoCAD2000</Version>
        <IsConvertImageToOLE>True</IsConvertImageToOLE>
      </ExportParams>
  </save>

</cadsofttools>




select

Description: Instruction SELECT selects entity(ies) by its handle(s).

Syntax:

<select Handle ="EntHandle" Marker ="Boolean" PathName ="String" Mode ="Integer" />
select parameters are:
Parameter Type Description
Handle EntHandle Handle can be given directly via $ or indirectly via @ attributes, it also accepts a list of handles divided by the ";" sign. For example: Handle="$24", Handle="@1", Handle="@;$27;$28"
Marker Boolean Shows (True) or does not show (False) editor markers for the selected entity.
PathName String A set of symbols showing the location of the named sections or objects in the Converter name space (which is similar to the DXF structure). As a separator the sign ";" is used.
Mode Integer 0 - set, 1 - remove, 2 - add


The returned value has the following structure:
Result parameters are:
Parameter Type Description
Instruction String The name of the command which the result is for

Result field accepts the following child:
Parameter Type Description
Output List Contains the result of the command
Errors List Contains the errors of the command


Example:
 
<?xml version="1.0" encoding="utf-8"?>
<cadsofttools version="2">
   <!-- Description: Instruction SELECT selects entity(ies) by its handle(s).  -->
   <add>
      <cstText Point="-18, 0, 0" Height="1" Text="Text marker is visible while Ellipse markers is not shown." HandleSave="@1"/>
      <cstEllipse Point="0,0,0" RadPt="20,0,0" Ratio="0.5" StartAngle="0" EndAngle="360" HandleSave="@2"/>
   </add>                    
   <FitToSize/>                               
  
   <!-- The following selects Text (@1) and ellipse (@2) but the marker is shown only for text. -->
   <!-- After selecting an object with the help of Select instruction and fulfilling the needed operations, 
   please, deselect this object as it remains selected. -->    
   <!-- Mode - this mode is used if the Marker attribute is "True":
           0 - set entities
           1 - remove from the selected entities
           2 - add to the selected entities -->
   <select Handle="@1" Marker="True" Mode="0"/>                    
   <select Handle="@2" Marker="False"/>   
                                 
   <!-- Changes color for both selected entities -->
   <apply Color="0;1"/>                       
</cadsofttools>        
                                                                            


Example 2:
 
<?xml version="1.0" encoding="UTF-8"?>
<cadsofttools version="2">
   <add>    
      <cstSectionTables Name="TABLES">
         <SubEntities>
            <cstTable Name="LAYER">
               <SubEntities>
                  <cstLayer name="Layer2" HandleSave="@1"/>
                  <cstLayer name="Layer3" HandleSave="@2"/>            
               </SubEntities>
            </cstTable>
         </SubEntities>
      </cstSectionTables>   
      <cstLine Point="0,0" Point1="10,10" Layer="Layer2"/>
      <cstLine Point="0,5" Point1="10,15" Layer="Layer3"/>      
   </add>
   
   <!-- To edit objects that cannot be selected in the editor window set the variable Marker="False". -->
   <!-- After selecting an object with the help of Select instruction and fulfilling the needed operations, 
   please, deselect this object as it remains selected. -->
   <!-- Here are two ways of selecting objects: 
   1) by specifying the object's Handle (@1)
   2) by specifying the section in the file and the object name. -->

   <Select Handle="@1" Marker="False"/>
   <apply lineweight="0.5" Color="0;1;"/>  
   <UnSelect Handle="@1" Marker="False"/> 
                                                               
   <Select PathName="STYLE;STANDARD" Marker="False"/>      
   <apply WidthFactor="0.75" PrimaryFont="txt.shx"/>
   <UnSelect PathName="STYLE;STANDARD" Marker="False"/>
                 
   <FitToSize/>   
</cadsofttools>    






SetCustomInsert

For special use.

Syntax:

<SetCustomInsert Handle ="EntHandle" Color ="ColorCAD" LineWeight ="Double" />
SetCustomInsert parameters are:
Parameter Type Description
Handle EntHandle Handle can be given directly via $ or indirectly via @ attributes, it also accepts a list of handles divided by the ";" sign. For example: Handle="$24", Handle="@1", Handle="@;$27;$28"
Color ColorCAD Color CAD
LineWeight Double Line weight


The returned value has the following structure:
Result parameters are:
Parameter Type Description
Instruction String The name of the command which the result is for

Result field accepts the following child:
Parameter Type Description
Output List Contains the result of the command
Errors List Contains the errors of the command


Example:
 
<?xml version="1.0" encoding="UTF-8"?>
<cadsofttools version="2">
  <!--  Changes the color and lineweight for the insert -->
  <SetCustomInsert Handle="@1" Color="0;3;" LineWeight="3"/>
</cadsofttools>


setdrawingchanged

Set true or false value depending on changes were applied to the drawing by guid or Mode. If do not find GUID then Mode = 1(current drawing)

Syntax:

<setdrawingchanged Guid ="String" Mode ="Integer" Changed ="Boolean" />
setdrawingchanged parameters are:
Parameter Type Description
Guid String Drawing Guid
Mode Integer 0 - by guid, 1 - current drawing, 2 - all drawings
Changed Boolean CHANGED returns True if any changes were implemented in a Drawing.


The returned value has the following structure:
Result parameters are:
Parameter Type Description
Instruction String The name of the command which the result is for

Result field accepts the following child:
Parameter Type Description
Output List Contains the result of the command
Errors List Contains the errors of the command


Example:
 
<?xml version="1.0" encoding="UTF-8"?>
<cadsofttools version="2">
  <getdrawingchanged/>  

  <!-- Set true or false value depending on changes were applied to the drawing by guid or Mode. -->
  <setdrawingchanged Mode="1" changed="false"/>  

  <getdrawingchanged/>  
</cadsofttools>


SetView

The SETVIEW instruction zooms the display area to given cstVport data. Use with GETVIEW instruction.

The returned value has the following structure:
Result parameters are:
Parameter Type Description
Instruction String The name of the command which the result is for

Result field accepts the following child:
Parameter Type Description
Output List Contains the result of the command
Errors List Contains the errors of the command


Example:
 
<?xml version="1.0" encoding="UTF-8"?>
<cadsofttools version="2">
  <setview>
    <cstVport CircleZoomPercent="100" UCSOrigin="0,0,1" UCSXDir="1,0,0" UCSYDir="0,1,0" UCSVP="false" ViewAspectRatio="1" ViewCenterPoint="0,0,0" ViewDirection="0,0,1" ViewTarget="0,0,0" ViewHeight="0" ViewTwistAngle="0"/>
  </setview>
</cadsofttools>


setviewrect

Unsupported

Syntax:

<setviewrect Rect ="FRect" />
setviewrect parameters are:
Parameter Type Description
Rect FRect Rect


The returned value has the following structure:
Result parameters are:
Parameter Type Description
Instruction String The name of the command which the result is for

Result field accepts the following child:
Parameter Type Description
Output List Contains the result of the command
Errors List Contains the errors of the command


Example:
 
<?xml version="1.0" encoding="UTF-8"?>
<cadsofttools version="2">
  <setviewrect Rect="1,2.55227261471941,0,6.0130718954248,-1.04249862711065,0"/>
</cadsofttools>


showselectedentities

The SHOWSELECTEDENTITIES instruction zooms view to show the selected entities. Parameters are set in the Editor Instruction.

Syntax:

<showselectedentities ShowEntityMethod ="Byte" />
showselectedentities parameters are:
Parameter Type Description
ShowEntityMethod Byte Property of the ShowSelectEntities instruction, the type of the precision calculation. Possible parameters are (0: Proportional, 1: Absolute, 2: FitToSize)


The returned value has the following structure:
Result parameters are:
Parameter Type Description
Instruction String The name of the command which the result is for

Result field accepts the following child:
Parameter Type Description
Output List Contains the result of the command
Errors List Contains the errors of the command


Example:
 
<?xml version="1.0" encoding="utf-8"?>
<cadsofttools version="2">
  <!-- Instruction SHOWSELECTEDENTITIES zooms view to show selected entities. Please select any entities with the mouse or with the help of SELECT instruction before executing SHOWSELECTEDENTITIES. -->  
  <ShowSelectedEntities/>                                                                                  
  </cadsofttools>


signtoevent

Description: Instruction SignToEvent signs for particular events to accept callbacks with XML data.

Syntax:

<signtoevent Event ="String" Enabled ="Boolean" />
signtoevent parameters are:
Parameter Type Description
Event String The accepted event names are: "OnSelectEntity" , "OnMouseDown" , OnConfirmEntitiesDeletion.
Enabled Boolean Enabled (True) or Disabled (False)


The returned value has the following structure:
Result parameters are:
Parameter Type Description
Instruction String The name of the command which the result is for

Result field accepts the following child:
Parameter Type Description
Output List Contains the result of the command
Errors List Contains the errors of the command


Example:
 
<?xml version="1.0" encoding="UTF-8"?>
<cadsofttools version="2">   
  <!-- Description: Instruction SignToEvent signs for particular events to accept callbacks with XML data. -->  

  <!-- Description: mouse events. -->  
  <signtoevent Event="OnMouseDown" Enabled="True"/>
  <signtoevent Event="OnMouseMove" Enabled="True"/>
  <signtoevent Event="OnMouseUp" Enabled="True"/>
  <signtoevent Event="OnMouseWheel" Enabled="True"/>

  <!-- Description: editor events. -->  
  <signtoevent Event="OnChangeEntities" Enabled="True"/>
  <signtoevent Event="OnCopyEntities" Enabled="True"/>
  <signtoevent Event="OnCreateEntities" Enabled="True"/>
  <signtoevent Event="OnDeleteEntities" Enabled="True"/>
  <signtoevent Event="OnLayoutAfterChange" Enabled="True"/>
  <signtoevent Event="OnLayoutBeforeChange" Enabled="True"/>
  <signtoevent Event="OnPasteEntities" Enabled="True"/>
  <signtoevent Event="OnRedoEntities" Enabled="True"/>
  <signtoevent Event="OnUndoEntities" Enabled="True"/>
  <signtoevent Event="OnSelectEntity" Enabled="True"/>
  <signtoevent Event="OnConfirmEntitiesDeletion" Enabled="True"/>
                                                               
  <!-- Description: key events. -->  
  <signtoevent Event="OnKeyDown" Enabled="True"/>
  <signtoevent Event="OnKeyUp" Enabled="True"/>
  <signtoevent Event="OnKeyPress" Enabled="True"/>


  <!-- Description: main events. -->  
  <signtoevent Event="OnPaint" Enabled="True"/>

  <!-- To find out if an event was set, use the command signtoevent without attributes.  -->
  <signtoevent/>
</cadsofttools>


SupportedClassesList

Returns classes of objects (lines, sections, layers, etc.) supported by the XML interface. All objects are returned with default values.

The returned value has the following structure:
Result parameters are:
Parameter Type Description
Instruction String The name of the command which the result is for

Result field accepts the following child:
Parameter Type Description
Output List Contains the result of the command
Errors List Contains the errors of the command


Example:
 
<?xml version="1.0" encoding="UTF-8"?>
<cadsofttools version="2">
  <SupportedClassesList/>
</cadsofttools>


SupportedInstructionsList

Returns all command supported by XML interface

The returned value has the following structure:
Result parameters are:
Parameter Type Description
Instruction String The name of the command which the result is for

Result field accepts the following child:
Parameter Type Description
Output List Contains the result of the command
Errors List Contains the errors of the command


Example:
 
<?xml version="1.0" encoding="UTF-8"?>
<cadsofttools version="2">
  <SupportedInstructionsList/>
</cadsofttools>


switchdrawing

Switches the active drawing. The drawing can be specified by guid or index.

Syntax:

<switchdrawing Index ="Integer" Guid ="String" />
switchdrawing parameters are:
Parameter Type Description
Index Integer Drawing Index
Guid String Drawing Guid


The returned value has the following structure:
Result parameters are:
Parameter Type Description
Instruction String The name of the command which the result is for

Result field accepts the following child:
Parameter Type Description
Output List Contains the result of the command
Errors List Contains the errors of the command


Example:
 
<?xml version="1.0" encoding="UTF-8"?>
<cadsofttools version="2">
  <switchdrawing index="0"/>
</cadsofttools>


Undefined



The returned value has the following structure:
Result parameters are:
Parameter Type Description
Instruction String The name of the command which the result is for

Result field accepts the following child:
Parameter Type Description
Output List Contains the result of the command
Errors List Contains the errors of the command



unload

Closes the specified drawing. The drawing can be specified by guid, index or current parameter.

Syntax:

<unload Index ="Integer" Guid ="String" />
unload parameters are:
Parameter Type Description
Index Integer Drawing Index
Guid String Drawing Guid


The returned value has the following structure:
Result parameters are:
Parameter Type Description
Instruction String The name of the command which the result is for

Result field accepts the following child:
Parameter Type Description
Output List Contains the result of the command
Errors List Contains the errors of the command



unselect

The UNSELECT instruction unselects entities which are specified by Handles.

Syntax:

<unselect Marker ="Boolean" Handle ="EntHandle" PathName ="String" />
unselect parameters are:
Parameter Type Description
Marker Boolean Shows (True) or does not show (False) editor markers for the selected entity.
Handle EntHandle Handle can be given directly via $ or indirectly via @ attributes, it also accepts a list of handles divided by the ";" sign. For example: Handle="$24", Handle="@1", Handle="@;$27;$28"
PathName String A set of symbols showing the location of the named sections or objects in the Converter name space (which is similar to the DXF structure). As a separator the sign ";" is used.


The returned value has the following structure:
Result parameters are:
Parameter Type Description
Instruction String The name of the command which the result is for

Result field accepts the following child:
Parameter Type Description
Output List Contains the result of the command
Errors List Contains the errors of the command


Example:
 
<?xml version="1.0" encoding="UTF-8"?>
<cadsofttools version="2">
    <!-- Please run "add.xml" and Select all (Ctrl+A) entities. Then run 'getSelected.xml' and add unselect Handle="HANDLE" for each Handle. After that, run this xml.  -->
  <unselect Handle="HANDLE"/>
</cadsofttools>


Instruction Parameters

Parameter Type Description
Angle Double Angle
AskOnDelete Boolean If true, the library asks before deleting entities, whose handles are specified in the CUSTOMSELECTMODE parameters
Author String Author
base64 Base64 Picture in Base64 encoding.
BitPerPixel Byte
Bottom Integer Bottom
Box FRect Box
CADArea ListItem CADArea item
Calcs List Accepts Calc child nodes.
Caption String Caption of button
caption String Caption of a menu item
Changed Boolean CHANGED returns True if any changes were implemented in a Drawing.
Color ColorCAD Color CAD
Compression String Compression for raster: LZW, Deflate, JPEG, CCITT3, CCITT4, CCITT6, Rle, Auto, None
Created ListItem Created
CustomDraw Boolean The selected entities are drawn with custom color and lineweight
DPUX Byte DPI X
DPUY Byte DPI Y
Drawing ListItem Drawing item
DrawingData List Drawing data structure
EMail String EMail
Enabled Boolean Enabled (True) or Disabled (False)
Errors List Contains the errors of the command
Event String The accepted event names are: "OnSelectEntity" , "OnMouseDown" , OnConfirmEntitiesDeletion.
ExportParams List ExportParams is a child attribute of the SAVE instruction.
ExternalFile ListItem External file item
File String Path to the file
Format String Output file format
Guid String Drawing Guid
Handle EntHandle Handle can be given directly via $ or indirectly via @ attributes, it also accepts a list of handles divided by the ";" sign. For example: Handle="$24", Handle="@1", Handle="@;$27;$28"
HatchName String Hatch name
Height Integer Height
Index Integer Drawing Index
Instruction String The name of the command which the result is for
IsConvertImageToOLE Boolean Converts external images to OLE in DWG/DXF export.
Item ListItem Creates a context menu item with the caption from parameter "caption". This caption is returned as result data when the item is clicked.
Items List Accepts Item child nodes.
Key String Key
LayoutExportMode Byte Selects layouts to be exported: 0: Model; 1: AllLayouts; 2:LayoutByName; 3:AllPaperSpaces; 4:CurrentLayout.
LayoutNameExportMode String Layout name, used if layouts export mode is "LayoutByName."
Left Integer Left
LineWeight Double Line weight
Marker Boolean Shows (True) or does not show (False) editor markers for the selected entity.
MeasureInPixels Boolean
Mode Integer Context menu mode: 0: replace, 1: add to bottom, 2: add to top
Mode Integer 0 - set, 1 - remove, 2 - add
Mode Integer Full drawing mode
Mode Integer 0 - by guid, 1 - current drawing, 2 - all drawings
Output List Contains the result of the command
PageHeight Integer Page Height
PageWidth Integer Page Width
Parameters String Any object's attribute that has no read-only modifiers can be used as a parameter
PathName String A set of symbols showing the location of the named sections or objects in the Converter name space (which is similar to the DXF structure). As a separator the sign ";" is used.
PathToXMLExamples String The path to the parent XML examples directory for using them in the HTML Help.
PatternScale Double Pattern scale
Point FPoints2DOr3D points for conversion to cad coordinate system
Proportional Boolean
Quality Double
ReadOnly Boolean Read-only status
Rect FRect Rect
Registration Integer Registration
Result List Result data.
Right Integer Right
Selected ListItem Stores handles of the selected entities
SelectedCount Integer The number of the selected entities
ShowEntityMethod Byte Property of the ShowSelectEntities instruction, the type of the precision calculation. Possible parameters are (0: Proportional, 1: Absolute, 2: FitToSize)
ShowEntityPrecision Double Property of the ShowSelectEntities instruction, a value of the precision calculation.
Text String Text for the console command line, help, etc.
Top Integer Top
Transparent Boolean Sets transparency for GIF
Updated ListItem Updated
User String User
Version String DWG or DXF version. For instance: acR2004, acR2000.
Visible Boolean Visible
VisibleArea ListItem VisibleArea item
Width Integer Width

Classes

cstAcadTable

Represents an AcadTable in a Drawing Database.

Syntax:

<cstAcadTable LineWeight ="Double" Handle ="EntHandle" Flags ="Integer" LineType ="EntName" Layer ="EntName" Color ="ColorCAD" LineTypeScale ="Double" Point ="FPoint" BlockName ="EntName" Extrusion ="FPoint" Angle ="Double" PScale ="FPoint" />
Parameter Type Description
LineWeight Double Line Weight in mm
Handle EntHandle Handle value
Flags Integer Flags are not suggested for usage. They have different meanings for particular entities, most of them are represented also directly via other attributes.
LineType EntName Name of a LineType
Layer EntName Name of a Layer
Color ColorCAD Color specified with TsgColorCAD
LineTypeScale Double Scale for Line Type elements
Point FPoint 3D Point defining entity
BlockName EntName Name of a Block
Extrusion FPoint Extrusion direction point
Angle Double Angle value
PScale FPoint Scale factor


cstAcadTableStyle

Represents an AcadTableStyle in a Drawing Database.

Syntax:

<cstAcadTableStyle LineWeight ="Double" Handle ="EntHandle" Flags ="Integer" LineType ="EntName" Name ="String" />
Parameter Type Description
LineWeight Double Line Weight in mm
Handle EntHandle Handle value
Flags Integer Flags are not suggested for usage. They have different meanings for particular entities, most of them are represented also directly via other attributes.
LineType EntName Name of a LineType
Name String Name string value


cstArc

Represents an Arc in a Drawing Database.

Syntax:

<cstArc LineWeight ="Double" Handle ="EntHandle" Flags ="Integer" LineType ="EntName" Layer ="EntName" Color ="ColorCAD" LineTypeScale ="Double" Point ="FPoint" Thickness ="Double" Extrusion ="FPoint" Radius ="Double" Length ="Double" Area ="Double" Height ="Double" EndAngle ="Double" StartAngle ="Double" />
Parameter Type Description
LineWeight Double Line Weight in mm
Handle EntHandle Handle value
Flags Integer Flags are not suggested for usage. They have different meanings for particular entities, most of them are represented also directly via other attributes.
LineType EntName Name of a LineType
Layer EntName Name of a Layer
Color ColorCAD Color specified with TsgColorCAD
LineTypeScale Double Scale for Line Type elements
Point FPoint 3D Point defining entity
Thickness Double Thickness
Extrusion FPoint Extrusion direction point
Radius Double Radius value
Length Double Length value
Area Double Area value
Height Double Height value
EndAngle Double End angle value
StartAngle Double Start angle value

Example:
 
<?xml version="1.0" encoding="utf-8"?>
<cadsofttools version="2">
  <!-- Description:  An arc is specified by a Point, a Radius, Start and End angles. -->
  <add>
     <cstArc Point="0,0,0" StartAngle="0" EndAngle="180" Radius="1"/>
  </add>
  <fittosize />
</cadsofttools>


cstAttdef

Represents an Attdef in a Drawing Database.

Syntax:

<cstAttdef LineWeight ="Double" Handle ="EntHandle" Flags ="Integer" LineType ="EntName" Layer ="EntName" Color ="ColorCAD" LineTypeScale ="Double" Point ="FPoint" Height ="Double" Rotation ="Double" WidthFactor ="Double" ObliqueAngle ="Double" StyleName ="String" Tag ="String" Value ="String" />
Parameter Type Description
LineWeight Double Line Weight in mm
Handle EntHandle Handle value
Flags Integer Flags are not suggested for usage. They have different meanings for particular entities, most of them are represented also directly via other attributes.
LineType EntName Name of a LineType
Layer EntName Name of a Layer
Color ColorCAD Color specified with TsgColorCAD
LineTypeScale Double Scale for Line Type elements
Point FPoint 3D Point defining entity
Height Double Height value
Rotation Double Rotation angle
WidthFactor Double Width factor for Style
ObliqueAngle Double Oblique angle
StyleName String Name of a Style
Tag String Attribute or attribute definition tag string
Value String String value

Example:
 
<?xml version="1.0" encoding="utf-8"?>
<cadsofttools version="2">
    <!-- Description:  An attribute definition is specified by a Point and a Height. The Tag and Value parameters are optional. --> 
  <add>
    <cstAttdef Point="4.5,3" Height="3.5" Tag="Attribute tag" Value="" />
  </add>
  <fittosize /> 
</cadsofttools>


cstAttrib

Represents an Attrib in a Drawing Database.

Syntax:

<cstAttrib LineWeight ="Double" Handle ="EntHandle" Flags ="Integer" LineType ="EntName" Layer ="EntName" Color ="ColorCAD" LineTypeScale ="Double" Point ="FPoint" Height ="Double" Rotation ="Double" WidthFactor ="Double" ObliqueAngle ="Double" StyleName ="String" Tag ="String" Value ="String" />
Parameter Type Description
LineWeight Double Line Weight in mm
Handle EntHandle Handle value
Flags Integer Flags are not suggested for usage. They have different meanings for particular entities, most of them are represented also directly via other attributes.
LineType EntName Name of a LineType
Layer EntName Name of a Layer
Color ColorCAD Color specified with TsgColorCAD
LineTypeScale Double Scale for Line Type elements
Point FPoint 3D Point defining entity
Height Double Height value
Rotation Double Rotation angle
WidthFactor Double Width factor for Style
ObliqueAngle Double Oblique angle
StyleName String Name of a Style
Tag String Attribute or attribute definition tag string
Value String String value

Example:
 
<?xml version="1.0" encoding="utf-8"?>
<cadsofttools version="2">
    <!-- Description: Block attributes are added to the child element "Attribs" of the cstInsert object. --> 
  <add>
    <!-- Adds a block with attributes -->
    <!-- Attribute flags: 
    1 = Attribute is invisible; 
    2 = This is a constant attribute;
    4 = Verification is required on input of this attribute;
    8 = Attribute is preset.-->
    <cstSectionBlocks Name="BLOCKS">
      <SubEntities>                                                                         
        <cstBlock name="block">
          <SubEntities>
            <cstAttdef flags="1" point="0,0" height="2.5" tag="invisible" value=""/>
            <cstAttdef flags="2" point="0,-4" height="2.5" tag="constant" value="" color="0;1"/>             
            <cstAttdef flags="2" point="0,-8" height="2.5" tag="constant2" value="constant value" color="0;1" StyleName="GOST"/>                         
            <cstAttdef flags="4" point="0,-12" height="2.5" tag="controlled" value=""/> 
            <cstAttdef flags="8" point="0,-16" height="2.5" tag="set" value=""/>                          
            <cstAttdef point="0,-20" height="2.5" tag="tag_attribute" value=""/> 
            <cstAttdef flags="3" point="0,-24" height="2.5" tag="invisible+constant" value="invisible+constant value" color="0;1" HandleSave="@1"/>            
            <cstAttdef flags="5" point="0,-28" height="2.5" tag="invisible+controlled" value=""/>                        
            <cstAttdef flags="9" point="0,-32" height="2.5" tag="invisible+set" value=""/>
            <cstAttdef flags="12" point="0,-36" height="2.5" tag="set+controlled" value=""/>            
            <cstAttdef flags="13" point="0,-40" height="2.5" tag="invisble+control+set" value=""/>            
          </SubEntities> 
        </cstBlock>                                                   
      </SubEntities>                                                         
    </cstSectionBlocks>
    <!-- Adds entities Model --> 
    <cstInsert blockname="block" point="0,0">                                       
          <SubEntities>
            <cstAttrib flags="1" point="0,0" height="2.5" tag="invisible" value="invisible value"/>    
            <cstAttrib flags="4" point="0,-12" height="2.5" tag="controlled" value="controlled value"/>
            <cstAttrib flags="8" point="0,-16" height="2.5" tag="set" value="set value" />
            <cstAttrib point="0,-20" height="2.5" tag="tag_attribute" value="attribute value" color="0;5" StyleName="GOST"/> 
            <cstAttrib flags="5" point="0,-28" height="2.5" tag="invisible+controlled" value="invisible+controlled value"/>                        
            <cstAttrib flags="9" point="0,-32" height="2.5" tag="invisible+set" value="invisible+set value"/>
            <cstAttrib flags="12" point="0,-36" height="2.5" tag="set+controlled" value="set+controlled value"/>            
            <cstAttrib flags="13" point="0,-40" height="2.5" tag="invisble+control+set" value=""/>            
          </SubEntities>                                                                                          
    </cstInsert>         
  </add>
  <!-- Selects entity with handle @1 and changes parameter Flags. -->  
  <Select Handle="@1"/> 
  <apply flags="2"/>       
  <Unselect Handle="@1"/>
  <fittosize/>
</cadsofttools>                                                           


cstBlock

Represents a Block in a Drawing Database.

Syntax:

<cstBlock LineWeight ="Double" Handle ="EntHandle" Flags ="Integer" LineType ="EntName" Layer ="EntName" Name ="String" BasePoint ="FPoint" />
Parameter Type Description
LineWeight Double Line Weight in mm
Handle EntHandle Handle value
Flags Integer Flags are not suggested for usage. They have different meanings for particular entities, most of them are represented also directly via other attributes.
LineType EntName Name of a LineType
Layer EntName Name of a Layer
Name String Name string value
BasePoint FPoint Base 3D point


cstBlockPattern

Represents a BlockPattern in a Drawing Database.

Syntax:

<cstBlockPattern LineWeight ="Double" Handle ="EntHandle" Flags ="Integer" LineType ="EntName" Layer ="EntName" Name ="String" BasePoint ="FPoint" />
Parameter Type Description
LineWeight Double Line Weight in mm
Handle EntHandle Handle value
Flags Integer Flags are not suggested for usage. They have different meanings for particular entities, most of them are represented also directly via other attributes.
LineType EntName Name of a LineType
Layer EntName Name of a Layer
Name String Name string value
BasePoint FPoint Base 3D point

cstBlockPattern accepts the following child atributes:
Parameter Type Description
ExtData StringInternal Extended data


cstBlockRecords

Represents a BlockRecords in a Drawing Database.

Syntax:

<cstBlockRecords LineWeight ="Double" Handle ="EntHandle" Flags ="Integer" LineType ="EntName" Name ="String" />
Parameter Type Description
LineWeight Double Line Weight in mm
Handle EntHandle Handle value
Flags Integer Flags are not suggested for usage. They have different meanings for particular entities, most of them are represented also directly via other attributes.
LineType EntName Name of a LineType
Name String Name string value


cstCircle

Represents a Circle in a Drawing Database.

Syntax:

<cstCircle LineWeight ="Double" Handle ="EntHandle" Flags ="Integer" LineType ="EntName" Layer ="EntName" Color ="ColorCAD" LineTypeScale ="Double" Point ="FPoint" Thickness ="Double" Extrusion ="FPoint" Radius ="Double" Length ="Double" Area ="Double" />
Parameter Type Description
LineWeight Double Line Weight in mm
Handle EntHandle Handle value
Flags Integer Flags are not suggested for usage. They have different meanings for particular entities, most of them are represented also directly via other attributes.
LineType EntName Name of a LineType
Layer EntName Name of a Layer
Color ColorCAD Color specified with TsgColorCAD
LineTypeScale Double Scale for Line Type elements
Point FPoint 3D Point defining entity
Thickness Double Thickness
Extrusion FPoint Extrusion direction point
Radius Double Radius value
Length Double Length value
Area Double Area value

Example:
 
<?xml version="1.0" encoding="utf-8"?>
<cadsofttools version="2">
  <!-- Description:  A circle is specified by a Point and a Radius.   -->
  <add>
    <cstCircle point="0,0,0" Radius="10"/>
   </add>
   <fittosize /> 
 </cadsofttools>


cstDictionary

Represents a Dictionary in a Drawing Database.

Syntax:

<cstDictionary LineWeight ="Double" Handle ="EntHandle" Flags ="Integer" LineType ="EntName" Name ="String" />
Parameter Type Description
LineWeight Double Line Weight in mm
Handle EntHandle Handle value
Flags Integer Flags are not suggested for usage. They have different meanings for particular entities, most of them are represented also directly via other attributes.
LineType EntName Name of a LineType
Name String Name string value


cstDimension

Represents a Dimension in a Drawing Database.

Syntax:

<cstDimension LineWeight ="Double" Handle ="EntHandle" Flags ="Integer" LineType ="EntName" Layer ="EntName" Color ="ColorCAD" LineTypeScale ="Double" Point ="FPoint" BlockName ="EntName" Extrusion ="FPoint" Angle ="Double" PScale ="FPoint" DimStyle ="String" DefPoint ="FPoint" LinDefPoint1 ="FPoint" LinDefPoint2 ="FPoint" MiddlePoint ="FPoint" ArcDefPoint ="FPoint" RadDefPoint ="FPoint" ArrowType ="Byte" ArrowSize ="Double" />
Parameter Type Description
LineWeight Double Line Weight in mm
Handle EntHandle Handle value
Flags Integer Flags are not suggested for usage. They have different meanings for particular entities, most of them are represented also directly via other attributes.
LineType EntName Name of a LineType
Layer EntName Name of a Layer
Color ColorCAD Color specified with TsgColorCAD
LineTypeScale Double Scale for Line Type elements
Point FPoint 3D Point defining entity
BlockName EntName Name of a Block
Extrusion FPoint Extrusion direction point
Angle Double Angle value
PScale FPoint Scale factor
DimStyle String Header variable. Dimension style name
DefPoint FPoint Definition point for Dimension
LinDefPoint1 FPoint Start point of the first extension line for Dimension
LinDefPoint2 FPoint Start point of the second extension line for Dimension
MiddlePoint FPoint Middle point of dimension text for Dimension
ArcDefPoint FPoint Point defining dimension arc for angular Dimension
RadDefPoint FPoint Definition point for diameter, radius, and angular Dimensions
ArrowType Byte Arrow type for entities
ArrowSize Double Dimensioning arrow size

cstDimension accepts the following child atributes:
Parameter Type Description
Properties List Dimension style properties


cstDimensionStyle

Represents a DimensionStyle in a Drawing Database.

Syntax:

<cstDimensionStyle LineWeight ="Double" Handle ="EntHandle" Flags ="Integer" LineType ="EntName" Name ="String" DimBlk ="EntName" DimBlk1 ="EntName" DimBlk2 ="EntName" DimRBlk ="EntName" DimAlt ="Boolean" DimAltF ="Double" DimAPost ="String" DimAsz ="Double" DimSah ="Boolean" DimCen ="Double" DimClrD ="ColorCAD" DimClrE ="ColorCAD" DimClrT ="ColorCAD" DimSD1 ="Boolean" DimSD2 ="Boolean" DimSE1 ="Boolean" DimSE2 ="Boolean" DimDec ="Integer" DimExe ="Double" DimExo ="Double" DimGap ="Double" DimLFac ="Double" DimLwD ="Double" DimLwE ="Double" DimPost ="String" DimScale ="Double" DimTad ="Integer" DimTih ="Boolean" DimTix ="Integer" DimToh ="Boolean" DimTxt ="Double" />
Parameter Type Description
LineWeight Double Line Weight in mm
Handle EntHandle Handle value
Flags Integer Flags are not suggested for usage. They have different meanings for particular entities, most of them are represented also directly via other attributes.
LineType EntName Name of a LineType
Name String Name string value
DimBlk EntName Arrow block name
DimBlk1 EntName First arrow block name
DimBlk2 EntName Second arrow block name
DimRBlk EntName Arrow block name for leaders
DimAlt Boolean Alternate unit dimensioning performed if nonzero
DimAltF Double Alternate unit scale factor
DimAPost String Alternate dimensioning suffix
DimAsz Double Dimensioning arrow size
DimSah Boolean Use separate arrow blocks if nonzero
DimCen Double Size of center mark/lines
DimClrD ColorCAD Dimension line color
DimClrE ColorCAD Dimension extension line color
DimClrT ColorCAD Dimension text color
DimSD1 Boolean Suppression of first extension line
DimSD2 Boolean Suppression of second extension line
DimSE1 Boolean First extension line suppressed if nonzero
DimSE2 Boolean Second extension line suppressed if nonzero
DimDec Integer Number of decimal places for the tolerance values of aprimary units dimension
DimExe Double Extension line extension
DimExo Double Extension line offset
DimGap Double Dimension line gap
DimLFac Double Linear measurements scale factor
DimLwD Double Dimension line lineweight
DimLwE Double Extension line lineweight
DimPost String General dimensioning suffix
DimScale Double Overall dimensioning scale factor
DimTad Integer Text above dimension line if nonzero
DimTih Boolean Text inside horizontal if nonzero
DimTix Integer Force text inside extensions if nonzero
DimToh Boolean Text outside horizontal if nonzero
DimTxt Double Dimensioning text height


cstEllipse

Represents an Ellipse in a Drawing Database.

Syntax:

<cstEllipse Handle ="EntHandle" Flags ="Integer" LineType ="EntName" Layer ="EntName" Color ="ColorCAD" LineTypeScale ="Double" Point ="FPoint" Thickness ="Double" Extrusion ="FPoint" EndAngle ="Double" StartAngle ="Double" RadPt ="FPoint" Ratio ="Double" />
Parameter Type Description
Handle EntHandle Handle value
Flags Integer Flags are not suggested for usage. They have different meanings for particular entities, most of them are represented also directly via other attributes.
LineType EntName Name of a LineType
Layer EntName Name of a Layer
Color ColorCAD Color specified with TsgColorCAD
LineTypeScale Double Scale for Line Type elements
Point FPoint 3D Point defining entity
Thickness Double Thickness
Extrusion FPoint Extrusion direction point
EndAngle Double End angle value
StartAngle Double Start angle value
RadPt FPoint End point of the major axis relative to the Center point for Ellipse
Ratio Double Ratio of minor axis to major axis for elliptic entities or a two values ratio

Example:
 
<?xml version="1.0" encoding="utf-8"?>
<cadsofttools version="2">
  <!-- Description:  An ellipse is specified by a Point, a RadPt, Ratio, Start and End angles..   -->
  <add>
     <cstEllipse Point="0,0,0" RadPt="2,0,0" Ratio="0.5" StartAngle="0" EndAngle="360"/>
  </add>
  <fittosize /> 
 </cadsofttools>


cstEntity

Represents an Entity in a Drawing Database.

Syntax:

<cstEntity LineWeight ="Double" Handle ="EntHandle" Flags ="Integer" LineType ="EntName" />
Parameter Type Description
LineWeight Double Line Weight in mm
Handle EntHandle Handle value
Flags Integer Flags are not suggested for usage. They have different meanings for particular entities, most of them are represented also directly via other attributes.
LineType EntName Name of a LineType


cstField

Represents a Field in a Drawing Database.

Syntax:

<cstField LineWeight ="Double" Handle ="EntHandle" Flags ="Integer" LineType ="EntName" Name ="String" />
Parameter Type Description
LineWeight Double Line Weight in mm
Handle EntHandle Handle value
Flags Integer Flags are not suggested for usage. They have different meanings for particular entities, most of them are represented also directly via other attributes.
LineType EntName Name of a LineType
Name String Name string value


cstFieldList

Represents a FieldList in a Drawing Database.

Syntax:

<cstFieldList LineWeight ="Double" Handle ="EntHandle" Flags ="Integer" LineType ="EntName" Name ="String" />
Parameter Type Description
LineWeight Double Line Weight in mm
Handle EntHandle Handle value
Flags Integer Flags are not suggested for usage. They have different meanings for particular entities, most of them are represented also directly via other attributes.
LineType EntName Name of a LineType
Name String Name string value


cstFill

Represents a Fill in a Drawing Database.

Syntax:

<cstFill LineWeight ="Double" Handle ="EntHandle" Flags ="Integer" LineType ="EntName" Layer ="EntName" Color ="ColorCAD" LineTypeScale ="Double" HatchName ="String" SolidFill ="Boolean" Elevation ="FPoint" Extrusion ="FPoint" Offset ="FPoint" />
Parameter Type Description
LineWeight Double Line Weight in mm
Handle EntHandle Handle value
Flags Integer Flags are not suggested for usage. They have different meanings for particular entities, most of them are represented also directly via other attributes.
LineType EntName Name of a LineType
Layer EntName Name of a Layer
Color ColorCAD Color specified with TsgColorCAD
LineTypeScale Double Scale for Line Type elements
HatchName String Name of a Hatch pattern
SolidFill Boolean Specifies if a Hatch have solid filling
Elevation FPoint Elevation value
Extrusion FPoint Extrusion direction point
Offset FPoint 3D offset point

cstFill accepts the following child atributes:
Parameter Type Description
Boundaries List List of boundaries of a Hatch


cstGradientPolygon

Represents a GradientPolygon in a Drawing Database.

Syntax:

<cstGradientPolygon LineWeight ="Double" Handle ="EntHandle" Flags ="Integer" LineType ="EntName" Layer ="EntName" Color ="ColorCAD" LineTypeScale ="Double" HatchName ="String" SolidFill ="Boolean" />
Parameter Type Description
LineWeight Double Line Weight in mm
Handle EntHandle Handle value
Flags Integer Flags are not suggested for usage. They have different meanings for particular entities, most of them are represented also directly via other attributes.
LineType EntName Name of a LineType
Layer EntName Name of a Layer
Color ColorCAD Color specified with TsgColorCAD
LineTypeScale Double Scale for Line Type elements
HatchName String Name of a Hatch pattern
SolidFill Boolean Specifies if a Hatch have solid filling


cstGroup

Represents a Group in a Drawing Database.

Syntax:

<cstGroup LineWeight ="Double" Handle ="EntHandle" Flags ="Integer" LineType ="EntName" Layer ="EntName" />
Parameter Type Description
LineWeight Double Line Weight in mm
Handle EntHandle Handle value
Flags Integer Flags are not suggested for usage. They have different meanings for particular entities, most of them are represented also directly via other attributes.
LineType EntName Name of a LineType
Layer EntName Name of a Layer


csthArc

Represents a hArc in a Drawing Database.

Syntax:

<csthArc CenterPoint ="FPoint" EndParam ="FPoint" Radius ="Double" StartParam ="FPoint" />
Parameter Type Description
CenterPoint FPoint 3D center point
EndParam FPoint End parameter for 2D Arc and inherited curves
Radius Double Radius value
StartParam FPoint Start parameter for 2D Arc and inherited curves


cstHatch

Represents a Hatch in a Drawing Database.

Syntax:

<cstHatch LineWeight ="Double" Handle ="EntHandle" Flags ="Integer" LineType ="EntName" Layer ="EntName" Color ="ColorCAD" LineTypeScale ="Double" HatchName ="String" SolidFill ="Boolean" Elevation ="FPoint" Extrusion ="FPoint" Offset ="FPoint" PatternAngle ="Double" PatternScale ="Double" />
Parameter Type Description
LineWeight Double Line Weight in mm
Handle EntHandle Handle value
Flags Integer Flags are not suggested for usage. They have different meanings for particular entities, most of them are represented also directly via other attributes.
LineType EntName Name of a LineType
Layer EntName Name of a Layer
Color ColorCAD Color specified with TsgColorCAD
LineTypeScale Double Scale for Line Type elements
HatchName String Name of a Hatch pattern
SolidFill Boolean Specifies if a Hatch have solid filling
Elevation FPoint Elevation value
Extrusion FPoint Extrusion direction point
Offset FPoint 3D offset point
PatternAngle Double Angle of lines in Hatch pattern
PatternScale Double Scale for Hatch pattern

cstHatch accepts the following child atributes:
Parameter Type Description
Boundaries List List of boundaries of a Hatch
Pattrens List List of patterns for Hatches

Example:
 
<?xml version="1.0" encoding="UTF-8"?>
    <!-- Description: Instruction CREATEHATCH creates Hatch using selected entities as contours. Please select an entity with the mouse or with the help of xml Instruction SELECT before calling this Instruction. -->
<!-- 
Syntax: 
  <createhatch Hatchname="" Angle="" PatternScale="" Color=""/>
Attributes:                                                                                                                              
Hatchname - string - name of Hatch, default is "SOLID" which creates a solid hatch. Other names: "Box", "Escher" and others can be found in Hatch dialog box of the user interface.
Angle - Double - rotation angle of the hatch                                           
PatternScale - Double - scale of the hatch pattern 
Color - string CADSoftTools color structure - color as an index or RGB    
 -->
                            
<cadsofttools version="2">
  <!-- Creates a simple rectangular Solid Hatch. Handle of polyline is saved as "@1" -->
  <add>
    <cstLWPolyline HandleSave="@1">        
    <SubEntities>                  
    <cstVertex Point="140,100,0"/>                         
    <cstVertex Point="141,100,0"/>           
    <cstVertex Point="141,103,0"/>                    
    <cstVertex Point="140,103,0"/> 
    </SubEntities>
    </cstLWPolyline>
  </add>
    <!-- Selects polyline -->
  <Select Handle="@1"/>         
    <!-- Creates hatch -->
  <createhatch/>               
  <UnSelect Handle="@1"/>

    <!-- Creates a polyline for the Hatch,  -->

  <add>                                                     
    <cstLWPolyline HandleSave="@2">
    <SubEntities>    
    <cstVertex Point="141,109,0"/> 
    <cstVertex Point="142,112,0"/> 
    <cstVertex Point="143,109,0"/> 
    <cstVertex Point="147,109,0"/> 
    <cstVertex Point="144,107,0"/> 
    <cstVertex Point="145,105,0"/> 
    <cstVertex Point="142,107,0"/> 
    <cstVertex Point="141,105,0"/> 
    <cstVertex Point="141,107,0"/> 
    <cstVertex Point="138,108,0"/> 
    <cstVertex Point="141,109,0"/> 
    </SubEntities>
    </cstLWPolyline>
  </add>
    <!-- Selects polyline -->
  <Select Handle="@2"/>
    <!-- Creates hatch -->
  <createhatch hatchname="BOX" Angle="30" PatternScale="0.1"  Color="0;34;"/>
  <UnSelect Handle="@2"/>
                                     
  <!-- Creates and selects some contours for creating hatch. -->
  <add>       
    <cstLine point="120,120,0"  point1="130,130,0" Color="0;3;" HandleSave="@3"/>
    <cstLine point="120,120,0"  point1="130,110,0" Color="0;3;" HandleSave="@4"/>
    <cstLine point="130,110,0"  point1="130,130,0" Color="0;3;" HandleSave="@5"/>
    <cstCircle point="100,100,0"  radius="10" Color="0;3;" HandleSave="@6"/>
  </add>
    <!-- Selects contours -->
  <Select Handle="@3"/>                     
  <Select Handle="@4"/>
  <Select Handle="@5"/>
  <Select Handle="@6"/>
  <createhatch hatchname="SOLID" Color="0;3;"/>
  <UnSelect Handle="@3"/>
  <UnSelect Handle="@4"/>
  <UnSelect Handle="@5"/>
  <UnSelect Handle="@6"/>

  <fittosize />
</cadsofttools>



csthBoundaryList

Represents a hBoundaryList in a Drawing Database.

Syntax:

<csthBoundaryList />
Parameter Type Description


csthCurve

Represents a hCurve in a Drawing Database.

Syntax:

<csthCurve />
Parameter Type Description


cstHelix

Represents a Helix in a Drawing Database.

Syntax:

<cstHelix LineWeight ="Double" Handle ="EntHandle" Flags ="Integer" LineType ="EntName" Layer ="EntName" Color ="ColorCAD" LineTypeScale ="Double" Point ="FPoint" Thickness ="Double" Extrusion ="FPoint" Degree ="Double" StartTangentVector ="FPoint" EndTangentVector ="FPoint" Start ="FPoint" Radius ="Double" Turns ="Double" TurnHeight ="Double" Clockwise ="Boolean" />
Parameter Type Description
LineWeight Double Line Weight in mm
Handle EntHandle Handle value
Flags Integer Flags are not suggested for usage. They have different meanings for particular entities, most of them are represented also directly via other attributes.
LineType EntName Name of a LineType
Layer EntName Name of a Layer
Color ColorCAD Color specified with TsgColorCAD
LineTypeScale Double Scale for Line Type elements
Point FPoint 3D Point defining entity
Thickness Double Thickness
Extrusion FPoint Extrusion direction point
Degree Double Degree value
StartTangentVector FPoint Start tangent direction point
EndTangentVector FPoint End tangent direction point
Start FPoint Start point for Helix
Radius Double Radius value
Turns Double Number of turns for Helix
TurnHeight Double Turn height for Helix
Clockwise Boolean Specifies if Helix is twisted clockwise

cstHelix accepts the following child atributes:
Parameter Type Description
ControlPoints FPoints2DOr3D List of Controls for spline and based entities
FitPoints FPoints2DOr3D List of Fits for spline based entities
KnotsPoints FPoints2DOr3D List of Knots for spline based entities
Weights Singles List of Weights for spline based entities


csthLine

Represents a hLine in a Drawing Database.

Syntax:

<csthLine StartPoint ="FPoint" EndPoint ="FPoint" />
Parameter Type Description
StartPoint FPoint Start point, can be used with 2D and 3D entities
EndPoint FPoint End point, can be used with 2D and 3D entities


csthPoints

Represents a hPoints in a Drawing Database.

Syntax:

<csthPoints />
Parameter Type Description


csthPolyline

Represents a hPolyline in a Drawing Database.

Syntax:

<csthPolyline Closed ="Boolean" />
Parameter Type Description
Closed Boolean Specifies if entity is closed

csthPolyline accepts the following child atributes:
Parameter Type Description
Vertexes List List of Vertexes


cstImageDef

Represents an ImageDef in a Drawing Database.

Syntax:

<cstImageDef LineWeight ="Double" Handle ="EntHandle" Flags ="Integer" LineType ="EntName" Name ="String" FileName ="String" />
Parameter Type Description
LineWeight Double Line Weight in mm
Handle EntHandle Handle value
Flags Integer Flags are not suggested for usage. They have different meanings for particular entities, most of them are represented also directly via other attributes.
LineType EntName Name of a LineType
Name String Name string value
FileName String File name string


cstImageEnt

Represents an ImageEnt in a Drawing Database.

Syntax:

<cstImageEnt LineWeight ="Double" Handle ="EntHandle" Flags ="Integer" LineType ="EntName" Layer ="EntName" Color ="ColorCAD" LineTypeScale ="Double" Point ="FPoint" Thickness ="Double" Extrusion ="FPoint" UVector ="FPoint" VVector ="FPoint" Size ="FPoint" Width ="Double" Height ="Double" Transparency ="Boolean" TransparentColor ="Color" ImageDef ="Handle" />
Parameter Type Description
LineWeight Double Line Weight in mm
Handle EntHandle Handle value
Flags Integer Flags are not suggested for usage. They have different meanings for particular entities, most of them are represented also directly via other attributes.
LineType EntName Name of a LineType
Layer EntName Name of a Layer
Color ColorCAD Color specified with TsgColorCAD
LineTypeScale Double Scale for Line Type elements
Point FPoint 3D Point defining entity
Thickness Double Thickness
Extrusion FPoint Extrusion direction point
UVector FPoint UVector for Wipeout and inherited entities
VVector FPoint VVector for Wipeout and inherited entities
Size FPoint Size of image for Wipeout and inherited entities
Width Double Width value
Height Double Height value
Transparency Boolean Definition transparency for imageent
TransparentColor Color Definition transparent color for imageent
ImageDef Handle Handle of ImageDef object of Image entity

Example:
 
<?xml version="1.0" encoding="UTF-8"?>
<cadsofttools version="2">
    <!-- Adds entities -->
  <add>

  <cstSectionObjects Name="OBJECTS">
    <SubEntities>
      <cstDictionary name="IMAGEDEFS">
        <SubEntities>
          <!-- FileName="Specify the file path" -->
          <cstImageDef  FileName="C:\Users\softgold5\Documents\ABViewer 11\Samples\image.jpg"   HandleSave="@1"/>
        </SubEntities>
      </cstDictionary>
    </SubEntities>
  </cstSectionObjects>

  
   <!-- Point - insertion point (corresponds to the bottom left corner of the image) -->
   <!-- Point1 - top left corner in the drawing coordinates (top left corner of the image) -->
   <!-- Point2 - bottom right corner in the drawing coordinates (bottom right corner of the image) -->
   <cstImageEnt Point="0,0,0" imagedef="@1">    
     <Calc mode="0" Point1="0,100,0" Point2="100,0,0"/>
   </cstImageEnt>                                           
 
   <cstImageEnt Point="0,0,0" imagedef="@1">
     <Calc mode="1" Width="100" Height="400" Angle="30"/>                   
   </cstImageEnt> 
  
  </add>
    <fittosize />
</cadsofttools>



cstInsert

Represents an Insert in a Drawing Database.

Syntax:

<cstInsert LineWeight ="Double" Handle ="EntHandle" Flags ="Integer" LineType ="EntName" Layer ="EntName" Color ="ColorCAD" LineTypeScale ="Double" Point ="FPoint" BlockName ="EntName" Extrusion ="FPoint" Angle ="Double" PScale ="FPoint" />
Parameter Type Description
LineWeight Double Line Weight in mm
Handle EntHandle Handle value
Flags Integer Flags are not suggested for usage. They have different meanings for particular entities, most of them are represented also directly via other attributes.
LineType EntName Name of a LineType
Layer EntName Name of a Layer
Color ColorCAD Color specified with TsgColorCAD
LineTypeScale Double Scale for Line Type elements
Point FPoint 3D Point defining entity
BlockName EntName Name of a Block
Extrusion FPoint Extrusion direction point
Angle Double Angle value
PScale FPoint Scale factor


cstInsertXRef

Represents an InsertXRef in a Drawing Database.

Syntax:

<cstInsertXRef LineWeight ="Double" Handle ="EntHandle" Flags ="Integer" LineType ="EntName" Layer ="EntName" Color ="ColorCAD" LineTypeScale ="Double" Point ="FPoint" BlockName ="EntName" Extrusion ="FPoint" Angle ="Double" PScale ="FPoint" />
Parameter Type Description
LineWeight Double Line Weight in mm
Handle EntHandle Handle value
Flags Integer Flags are not suggested for usage. They have different meanings for particular entities, most of them are represented also directly via other attributes.
LineType EntName Name of a LineType
Layer EntName Name of a Layer
Color ColorCAD Color specified with TsgColorCAD
LineTypeScale Double Scale for Line Type elements
Point FPoint 3D Point defining entity
BlockName EntName Name of a Block
Extrusion FPoint Extrusion direction point
Angle Double Angle value
PScale FPoint Scale factor


cstLayer

Represents a Layer in a Drawing Database.

Syntax:

<cstLayer LineWeight ="Double" Handle ="EntHandle" Flags ="Integer" LineType ="EntName" Name ="String" Color ="ColorCAD" Visible ="Boolean" Locked ="Boolean" Frozen ="Boolean" FrozenByNewViewPort ="Boolean" XrefLink ="Boolean" IsPlotting ="Boolean" />
Parameter Type Description
LineWeight Double Line Weight in mm
Handle EntHandle Handle value
Flags Integer Flags are not suggested for usage. They have different meanings for particular entities, most of them are represented also directly via other attributes.
LineType EntName Name of a LineType
Name String Name string value
Color ColorCAD Color specified with TsgColorCAD
Visible Boolean Specifies entity visibility
Locked Boolean Specifies entity editability
Frozen Boolean Specifies if Layer is frozen
FrozenByNewViewPort Boolean Specifies if Layer is frozen for new Viewports
XrefLink Boolean Specifies if entity is externally dependent on an xref
IsPlotting Boolean Specifies if this layer will be plotted

Example:
 
<?xml version="1.0" encoding="utf-8"?>
<cadsofttools version="2">
  <!-- Description: The example shows how to add a complicated Drawing Structure Data to the current drawing. -->  
  <add>
    <cstSectionTables Name="TABLES">
      <SubEntities>               
        <cstTable Name="LAYER">
          <SubEntities>
            <cstLayer name="Layer2" Color="0;3;" Visible="False" Locked="True"/>
          </SubEntities>                                                  
        </cstTable>
      </SubEntities>
    </cstSectionTables>
</add>                                                                 
  </cadsofttools>

Example 2:
Description: getting a list of all the layers of a drawing and their info.
 
<?xml version="1.0" encoding="UTF-8"?>
<cadsofttools version="2">
  <!-- Description: getting a list of all the layers of a drawing and their info. -->
  <get PathName="TABLES;LAYER"/>  
</cadsofttools>  


cstLayout

Represents a Layout in a Drawing Database.

Syntax:

<cstLayout LineWeight ="Double" Handle ="EntHandle" Flags ="Integer" LineType ="EntName" Name ="String" PaperSpaceBlock ="EntName" UCSOrigin ="FPoint" UCSXDir ="FPoint" UCSYDir ="FPoint" />
Parameter Type Description
LineWeight Double Line Weight in mm
Handle EntHandle Handle value
Flags Integer Flags are not suggested for usage. They have different meanings for particular entities, most of them are represented also directly via other attributes.
LineType EntName Name of a LineType
Name String Name string value
PaperSpaceBlock EntName Layout name
UCSOrigin FPoint VPort UCS origin
UCSXDir FPoint Header variable. Direction of the current UCS X axis (in WCS)
UCSYDir FPoint Header variable. Direction of the current UCS Y axis (in WCS)


cstLeader

Represents a Leader in a Drawing Database.

Syntax:

<cstLeader LineWeight ="Double" Handle ="EntHandle" Flags ="Integer" LineType ="EntName" Layer ="EntName" Color ="ColorCAD" LineTypeScale ="Double" Point ="FPoint" Thickness ="Double" Extrusion ="FPoint" Degree ="Double" StartTangentVector ="FPoint" EndTangentVector ="FPoint" Arrowhead ="Boolean" DimStyle ="String" LeaderPathType ="Integer" ArrowType ="Byte" ArrowSize ="Double" />
Parameter Type Description
LineWeight Double Line Weight in mm
Handle EntHandle Handle value
Flags Integer Flags are not suggested for usage. They have different meanings for particular entities, most of them are represented also directly via other attributes.
LineType EntName Name of a LineType
Layer EntName Name of a Layer
Color ColorCAD Color specified with TsgColorCAD
LineTypeScale Double Scale for Line Type elements
Point FPoint 3D Point defining entity
Thickness Double Thickness
Extrusion FPoint Extrusion direction point
Degree Double Degree value
StartTangentVector FPoint Start tangent direction point
EndTangentVector FPoint End tangent direction point
Arrowhead Boolean Specifies if arrowhead is present for Leader
DimStyle String Header variable. Dimension style name
LeaderPathType Integer Specifies if Leader path is spline
ArrowType Byte Arrow type for entities
ArrowSize Double Dimensioning arrow size

cstLeader accepts the following child atributes:
Parameter Type Description
ControlPoints FPoints2DOr3D List of Controls for spline and based entities
FitPoints FPoints2DOr3D List of Fits for spline based entities
KnotsPoints FPoints2DOr3D List of Knots for spline based entities
Weights Singles List of Weights for spline based entities
Properties List Dimension style properties

Example:
 
<?xml version="1.0" encoding="utf-8"?>
<cadsofttools version="2">
  <!-- Description: Adding a linear leader to the drawing. --> 
  <!-- ArrowType = DimRBlk: 
  0 = _CLOSEDFILLED; 1 =_CLOSEDBLANK; 2 = _CLOSED; 3 = _DOT; 4 = _ARCHTICK; 5 = _OBLIQUE; 6 = _OPEN; 7 = _ORIGIN;  
  8 = _ORIGIN2; 9 = _OPEN90; 10 = _OPEN30; 11 = _DOTSMALL; 12 = _DOTBLANK; 13 = _SMALL; 14 = _BOXBLANK; 15 = _BOXFILLED;
  16 = _DATUMBLANK; 17 = _DATUMFILLED; 18 = _INTEGRAL; 20 = _NONE.-->
  <add>
    <!-- Simplified adding of a leader -->  
    <cstLeader DimStyle="STANDARD" ArrowType="10" ArrowSize="2.8" color="0;1">
        <ControlPoints Values="0,20|5,28|10,28" />                                                                            
    </cstLeader>                                     

    <!-- Adds a leader with properties by dimension style. When the instruction "Properties" is used, 
    the properties of the instruction "cstLeader" are overridden and a leader is created according 
    to the set Dimension Style. -->          
    <cstLeader DimStyle="GENISO" HandleSave="@1">                                 
        <ControlPoints Values="0,10|5,18|10,18" />
        <Properties/>
    </cstLeader>                       
                                          
    <!-- Adds a leader and overrides the values of the style properties. -->       
    <cstLeader DimStyle="GENISO">                
        <ControlPoints Values="0,0|5,8|10,8" />
        <Properties DimRBlk="_ORIGIN2" DimAsz="4"/>
    </cstLeader>    
  </add> 

  <!-- Selects the leader with handle "@1" and changes the type of the leader using the instruction "Properties". -->
  <select Handle="@1"/>                                                               
  <apply color="0;4">                                                          
    <Properties DimRBlk="_DATUMFILLED" DimAsz="3"/> 
  </apply>
  <unselect handle="@1"/> 
  <fittosize />                                                  
</cadsofttools>  


cstLine

Represents a Line in a Drawing Database.

Syntax:

<cstLine LineWeight ="Double" Handle ="EntHandle" Flags ="Integer" LineType ="EntName" Layer ="EntName" Color ="ColorCAD" LineTypeScale ="Double" Point ="FPoint" Thickness ="Double" Extrusion ="FPoint" Point1 ="FPoint" Length ="Double" Angle ="Double" />
Parameter Type Description
LineWeight Double Line Weight in mm
Handle EntHandle Handle value
Flags Integer Flags are not suggested for usage. They have different meanings for particular entities, most of them are represented also directly via other attributes.
LineType EntName Name of a LineType
Layer EntName Name of a Layer
Color ColorCAD Color specified with TsgColorCAD
LineTypeScale Double Scale for Line Type elements
Point FPoint 3D Point defining entity
Thickness Double Thickness
Extrusion FPoint Extrusion direction point
Point1 FPoint 3D point defining entity
Length Double Length value
Angle Double Angle value

Example:
 
<?xml version="1.0" encoding="utf-8"?>
<cadsofttools version="2">
  <!-- Description: A Line is specified by two Points.  -->
  <add>
    <cstLine point="0,0,0" Point1="10,5,0"/>
  </add> 
  <fittosize/>
</cadsofttools>


cstLineType

Represents a LineType in a Drawing Database.

Syntax:

<cstLineType LineWeight ="Double" Handle ="EntHandle" Flags ="Integer" LineType ="EntName" Name ="String" />
Parameter Type Description
LineWeight Double Line Weight in mm
Handle EntHandle Handle value
Flags Integer Flags are not suggested for usage. They have different meanings for particular entities, most of them are represented also directly via other attributes.
LineType EntName Name of a LineType
Name String Name string value


cstLWPolyline

Represents a LWPolyline in a Drawing Database.

Syntax:

<cstLWPolyline LineWeight ="Double" Handle ="EntHandle" Flags ="Integer" LineType ="EntName" Layer ="EntName" Color ="ColorCAD" LineTypeScale ="Double" Point ="FPoint" Thickness ="Double" Extrusion ="FPoint" GlobalWidth ="Double" />
Parameter Type Description
LineWeight Double Line Weight in mm
Handle EntHandle Handle value
Flags Integer Flags are not suggested for usage. They have different meanings for particular entities, most of them are represented also directly via other attributes.
LineType EntName Name of a LineType
Layer EntName Name of a Layer
Color ColorCAD Color specified with TsgColorCAD
LineTypeScale Double Scale for Line Type elements
Point FPoint 3D Point defining entity
Thickness Double Thickness
Extrusion FPoint Extrusion direction point
GlobalWidth Double Global width value


cstMPolygon

Represents a MPolygon in a Drawing Database.

Syntax:

<cstMPolygon LineWeight ="Double" Handle ="EntHandle" Flags ="Integer" LineType ="EntName" Layer ="EntName" Color ="ColorCAD" LineTypeScale ="Double" HatchName ="String" SolidFill ="Boolean" Elevation ="FPoint" Extrusion ="FPoint" Offset ="FPoint" PatternAngle ="Double" PatternScale ="Double" />
Parameter Type Description
LineWeight Double Line Weight in mm
Handle EntHandle Handle value
Flags Integer Flags are not suggested for usage. They have different meanings for particular entities, most of them are represented also directly via other attributes.
LineType EntName Name of a LineType
Layer EntName Name of a Layer
Color ColorCAD Color specified with TsgColorCAD
LineTypeScale Double Scale for Line Type elements
HatchName String Name of a Hatch pattern
SolidFill Boolean Specifies if a Hatch have solid filling
Elevation FPoint Elevation value
Extrusion FPoint Extrusion direction point
Offset FPoint 3D offset point
PatternAngle Double Angle of lines in Hatch pattern
PatternScale Double Scale for Hatch pattern

cstMPolygon accepts the following child atributes:
Parameter Type Description
Boundaries List List of boundaries of a Hatch
Pattrens List List of patterns for Hatches


cstMText

Represents a MText in a Drawing Database.

Syntax:

<cstMText LineWeight ="Double" Handle ="EntHandle" Flags ="Integer" LineType ="EntName" Layer ="EntName" Color ="ColorCAD" LineTypeScale ="Double" Point ="FPoint" BlockName ="EntName" Extrusion ="FPoint" Angle ="Double" PScale ="FPoint" Height ="Double" StyleName ="String" RectWidth ="Double" TextValue ="String" />
Parameter Type Description
LineWeight Double Line Weight in mm
Handle EntHandle Handle value
Flags Integer Flags are not suggested for usage. They have different meanings for particular entities, most of them are represented also directly via other attributes.
LineType EntName Name of a LineType
Layer EntName Name of a Layer
Color ColorCAD Color specified with TsgColorCAD
LineTypeScale Double Scale for Line Type elements
Point FPoint 3D Point defining entity
BlockName EntName Name of a Block
Extrusion FPoint Extrusion direction point
Angle Double Angle value
PScale FPoint Scale factor
Height Double Height value
StyleName String Name of a Style
RectWidth Double Width of a rectangle
TextValue String Text string value

Example:
 
<?xml version="1.0" encoding="utf-8"?>
  <!-- Description: An Mtext is specified by a Point, a Height and a Textvalue.   -->
<cadsofttools version="2">
  <add>     
    <cstMText Point="0,0" Height="3" TextValue="MultilineText"/>       
  </add> 
  <fittosize />                 
</cadsofttools> 

Example 2:
Description: The following code uses many optional parametres for MText.
 
<?xml version="1.0" encoding="utf-8"?>
  <!-- Description: The following code uses many optional parametres for MText.  -->
<cadsofttools version="2">
  <add>     
    <cstMText Point="10.5,5,1.33" Layer="Layer1" color="1;(145,30,45)" LineWeight="0.23" LineType="byblock" LineTypeScale="0.25" Extrusion="1,2,1" Angle="15" PScale="1,2,1" Height="3.5" StyleName="STANDARD" RectWidth="20.1" TextValue="MultilineText"/>
  </add>
  <fittosize />                  
</cadsofttools> 


cstObjectEntity

Represents an ObjectEntity in a Drawing Database.

Syntax:

<cstObjectEntity LineWeight ="Double" Handle ="EntHandle" Flags ="Integer" LineType ="EntName" Layer ="EntName" />
Parameter Type Description
LineWeight Double Line Weight in mm
Handle EntHandle Handle value
Flags Integer Flags are not suggested for usage. They have different meanings for particular entities, most of them are represented also directly via other attributes.
LineType EntName Name of a LineType
Layer EntName Name of a Layer


cstOle2Frame

Represents an Ole2Frame in a Drawing Database.

Syntax:

<cstOle2Frame LineWeight ="Double" Handle ="EntHandle" Flags ="Integer" LineType ="EntName" Layer ="EntName" Color ="ColorCAD" LineTypeScale ="Double" Point ="FPoint" />
Parameter Type Description
LineWeight Double Line Weight in mm
Handle EntHandle Handle value
Flags Integer Flags are not suggested for usage. They have different meanings for particular entities, most of them are represented also directly via other attributes.
LineType EntName Name of a LineType
Layer EntName Name of a Layer
Color ColorCAD Color specified with TsgColorCAD
LineTypeScale Double Scale for Line Type elements
Point FPoint 3D Point defining entity


cstOwneredItem

Represents an OwneredItem in a Drawing Database.

Syntax:

<cstOwneredItem LineWeight ="Double" Handle ="EntHandle" Flags ="Integer" LineType ="EntName" Name ="String" />
Parameter Type Description
LineWeight Double Line Weight in mm
Handle EntHandle Handle value
Flags Integer Flags are not suggested for usage. They have different meanings for particular entities, most of them are represented also directly via other attributes.
LineType EntName Name of a LineType
Name String Name string value


cstPenTableItem

Represents a PenTableItem in a Drawing Database.

Syntax:

<cstPenTableItem LineWeight ="Double" Handle ="EntHandle" Flags ="Integer" LineType ="EntName" Name ="String" />
Parameter Type Description
LineWeight Double Line Weight in mm
Handle EntHandle Handle value
Flags Integer Flags are not suggested for usage. They have different meanings for particular entities, most of them are represented also directly via other attributes.
LineType EntName Name of a LineType
Name String Name string value


cstPoint

Represents a Point in a Drawing Database.

Syntax:

<cstPoint LineWeight ="Double" Handle ="EntHandle" Flags ="Integer" LineType ="EntName" Layer ="EntName" Color ="ColorCAD" LineTypeScale ="Double" Point ="FPoint" Thickness ="Double" Extrusion ="FPoint" />
Parameter Type Description
LineWeight Double Line Weight in mm
Handle EntHandle Handle value
Flags Integer Flags are not suggested for usage. They have different meanings for particular entities, most of them are represented also directly via other attributes.
LineType EntName Name of a LineType
Layer EntName Name of a Layer
Color ColorCAD Color specified with TsgColorCAD
LineTypeScale Double Scale for Line Type elements
Point FPoint 3D Point defining entity
Thickness Double Thickness
Extrusion FPoint Extrusion direction point

Example:
 
<?xml version="1.0" encoding="utf-8"?>
<cadsofttools version="2">
  <!-- Description: Adds a Point.  -->
  <add>     
    <cstPoint Point="-0.56,1.9"/> 
  </add>
  <fittosize /> 
</cadsofttools>    

Example 2:
Description: When a Point is added, the maximal number of parameters is used.
 
<?xml version="1.0" encoding="utf-8"?>
<cadsofttools version="2">
  <!-- Description:  When a Point is added, the maximal number of parameters is used. -->
  <add> 
    <cstPoint Point="-0.56,1.69,-10.15" Layer="Layer1" Color="0;5" LineWeight="0.25" LineType="byblock" LineTypeScale="0.3"/> 
  </add> 
</cadsofttools>


cstPolyline

Represents a Polyline in a Drawing Database.

Syntax:

<cstPolyline LineWeight ="Double" Handle ="EntHandle" Flags ="Integer" LineType ="EntName" Layer ="EntName" Color ="ColorCAD" LineTypeScale ="Double" Point ="FPoint" Thickness ="Double" Extrusion ="FPoint" GlobalWidth ="Double" />
Parameter Type Description
LineWeight Double Line Weight in mm
Handle EntHandle Handle value
Flags Integer Flags are not suggested for usage. They have different meanings for particular entities, most of them are represented also directly via other attributes.
LineType EntName Name of a LineType
Layer EntName Name of a Layer
Color ColorCAD Color specified with TsgColorCAD
LineTypeScale Double Scale for Line Type elements
Point FPoint 3D Point defining entity
Thickness Double Thickness
Extrusion FPoint Extrusion direction point
GlobalWidth Double Global width value

Example:
 
<?xml version="1.0" encoding="utf-8"?>
<cadsofttools version="2">
  <!-- Description: The instruction ADD adds entities and Drawing Structure Data to the current drawing. There are many examples of adding particular classes with ADD instruction which are described in Classes examples. -->  
    <add>
    <cstLWPolyline Point="0,0" Thickness="5">
                <SubEntities>
                  <cstVertex Point="0,0"/>
                  <cstVertex Point="10,0"/>
                  <cstVertex Point="10,10"/>
                </SubEntities>
              </cstLWPolyline> 
</add>
<fittosize /> 
  </cadsofttools>                                                                                                                                          


cstPolyPolygon

Represents a PolyPolygon in a Drawing Database.

Syntax:

<cstPolyPolygon LineWeight ="Double" Handle ="EntHandle" Flags ="Integer" LineType ="EntName" Layer ="EntName" Color ="ColorCAD" LineTypeScale ="Double" HatchName ="String" SolidFill ="Boolean" />
Parameter Type Description
LineWeight Double Line Weight in mm
Handle EntHandle Handle value
Flags Integer Flags are not suggested for usage. They have different meanings for particular entities, most of them are represented also directly via other attributes.
LineType EntName Name of a LineType
Layer EntName Name of a Layer
Color ColorCAD Color specified with TsgColorCAD
LineTypeScale Double Scale for Line Type elements
HatchName String Name of a Hatch pattern
SolidFill Boolean Specifies if a Hatch have solid filling


cstProxy

Represents a Proxy in a Drawing Database.

Syntax:

<cstProxy LineWeight ="Double" Handle ="EntHandle" Flags ="Integer" LineType ="EntName" Layer ="EntName" Color ="ColorCAD" LineTypeScale ="Double" Point ="FPoint" Thickness ="Double" Extrusion ="FPoint" />
Parameter Type Description
LineWeight Double Line Weight in mm
Handle EntHandle Handle value
Flags Integer Flags are not suggested for usage. They have different meanings for particular entities, most of them are represented also directly via other attributes.
LineType EntName Name of a LineType
Layer EntName Name of a Layer
Color ColorCAD Color specified with TsgColorCAD
LineTypeScale Double Scale for Line Type elements
Point FPoint 3D Point defining entity
Thickness Double Thickness
Extrusion FPoint Extrusion direction point


cstSection

Represents a Section in a Drawing Database.

Syntax:

<cstSection LineWeight ="Double" Handle ="EntHandle" Flags ="Integer" LineType ="EntName" Name ="String" />
Parameter Type Description
LineWeight Double Line Weight in mm
Handle EntHandle Handle value
Flags Integer Flags are not suggested for usage. They have different meanings for particular entities, most of them are represented also directly via other attributes.
LineType EntName Name of a LineType
Name String Name string value


cstSectionBlocks

Represents a SectionBlocks in a Drawing Database.

Syntax:

<cstSectionBlocks LineWeight ="Double" Handle ="EntHandle" Flags ="Integer" LineType ="EntName" Name ="String" />
Parameter Type Description
LineWeight Double Line Weight in mm
Handle EntHandle Handle value
Flags Integer Flags are not suggested for usage. They have different meanings for particular entities, most of them are represented also directly via other attributes.
LineType EntName Name of a LineType
Name String Name string value


cstSectionHeader

Represents a SectionHeader in a Drawing Database.

Syntax:

<cstSectionHeader Name ="String" ACADVer ="String" CodePage ="String" TextStyle ="String" CLayer ="String" CELType ="String" CEColor ="ColorCAD" CELTScale ="Double" CELWeight ="Double" DimStyle ="String" DIMTXSTY ="String" DimAlt ="Boolean" DimAltF ="Double" DimAPost ="String" DimAsz ="Double" DimSah ="Boolean" DimCen ="Double" DimClrD ="ColorCAD" DimClrE ="ColorCAD" DimClrT ="ColorCAD" DimSD1 ="Boolean" DimSD2 ="Boolean" DimSE1 ="Boolean" DimSE2 ="Boolean" DimDec ="Integer" DimExe ="Double" DimExo ="Double" DimGap ="Double" DimLFac ="Double" DimLwD ="Double" DimLwE ="Double" DimPost ="String" DimScale ="Double" DimTad ="Integer" DimTih ="Boolean" DimTix ="Integer" DimToh ="Boolean" DimTxt ="Double" EXTMIN ="FPoint" ExtMax ="FPoint" FILLETRAD ="Double" InsUnits ="Integer" LTScale ="Double" Measurement ="Integer" PDMODE ="Integer" PDSIZE ="Double" TextSize ="Double" TileMode ="Integer" UCSORG ="FPoint" UCSXDir ="FPoint" UCSYDir ="FPoint" InsBase ="FPoint" Attmode ="Integer" />
Parameter Type Description
Name String Name string value
ACADVer String Header variable. The AutoCAD drawing database version number
CodePage String Header variable. Drawing code page
TextStyle String Header variable. Current text style name
CLayer String Header variable. Current layer name
CELType String Header variable. Entity linetype name, or BYBLOCK or BYLAYER
CEColor ColorCAD Header variable. Current entity color
CELTScale Double Header variable. Current entity linetype scale
CELWeight Double Header variable. Lineweight of new objects
DimStyle String Header variable. Dimension style name
DIMTXSTY String Dimension text style
DimAlt Boolean Alternate unit dimensioning performed if nonzero
DimAltF Double Alternate unit scale factor
DimAPost String Alternate dimensioning suffix
DimAsz Double Dimensioning arrow size
DimSah Boolean Use separate arrow blocks if nonzero
DimCen Double Size of center mark/lines
DimClrD ColorCAD Dimension line color
DimClrE ColorCAD Dimension extension line color
DimClrT ColorCAD Dimension text color
DimSD1 Boolean Suppression of first extension line
DimSD2 Boolean Suppression of second extension line
DimSE1 Boolean First extension line suppressed if nonzero
DimSE2 Boolean Second extension line suppressed if nonzero
DimDec Integer Number of decimal places for the tolerance values of aprimary units dimension
DimExe Double Extension line extension
DimExo Double Extension line offset
DimGap Double Dimension line gap
DimLFac Double Linear measurements scale factor
DimLwD Double Dimension line lineweight
DimLwE Double Extension line lineweight
DimPost String General dimensioning suffix
DimScale Double Overall dimensioning scale factor
DimTad Integer Text above dimension line if nonzero
DimTih Boolean Text inside horizontal if nonzero
DimTix Integer Force text inside extensions if nonzero
DimToh Boolean Text outside horizontal if nonzero
DimTxt Double Dimensioning text height
EXTMIN FPoint Header variable. X, Y, and Z drawing extents lower-left corner (in WCS)
ExtMax FPoint Header variable. X, Y, and Z drawing extents upper-right corner (in WCS)
FILLETRAD Double Header variable. Fillet radius
InsUnits Integer Header variable. Default drawing units for AutoCAD DesignCenter blocks
LTScale Double Header variable. Global linetype scale
Measurement Integer Header variable. Drawing units: 0 = English; 1 = Metric
PDMODE Integer Header variable. Point display mode
PDSIZE Double Header variable. Point display size
TextSize Double Header variable. Default text height
TileMode Integer Header variable. 1 for previous release compatibility mode; 0 otherwise
UCSORG FPoint Header variable. Origin of current UCS (in WCS)
UCSXDir FPoint Header variable. Direction of the current UCS X axis (in WCS)
UCSYDir FPoint Header variable. Direction of the current UCS Y axis (in WCS)
InsBase FPoint Header variable. Insertion base set by BASE command (in WCS)
Attmode Integer Header variable. Attribute visibility: 0 = None 1 = Normal 2 = All


cstSectionObjects

Represents a SectionObjects in a Drawing Database.

Syntax:

<cstSectionObjects LineWeight ="Double" Handle ="EntHandle" Flags ="Integer" LineType ="EntName" Name ="String" />
Parameter Type Description
LineWeight Double Line Weight in mm
Handle EntHandle Handle value
Flags Integer Flags are not suggested for usage. They have different meanings for particular entities, most of them are represented also directly via other attributes.
LineType EntName Name of a LineType
Name String Name string value


cstSectionTables

Represents a SectionTables in a Drawing Database.

Syntax:

<cstSectionTables LineWeight ="Double" Handle ="EntHandle" Flags ="Integer" LineType ="EntName" Name ="String" />
Parameter Type Description
LineWeight Double Line Weight in mm
Handle EntHandle Handle value
Flags Integer Flags are not suggested for usage. They have different meanings for particular entities, most of them are represented also directly via other attributes.
LineType EntName Name of a LineType
Name String Name string value


cstSolid

Represents a Solid in a Drawing Database.

Syntax:

<cstSolid LineWeight ="Double" Handle ="EntHandle" Flags ="Integer" LineType ="EntName" Layer ="EntName" Color ="ColorCAD" LineTypeScale ="Double" Point ="FPoint" Thickness ="Double" Extrusion ="FPoint" Point1 ="FPoint" Length ="Double" Angle ="Double" Point2 ="FPoint" Point3 ="FPoint" />
Parameter Type Description
LineWeight Double Line Weight in mm
Handle EntHandle Handle value
Flags Integer Flags are not suggested for usage. They have different meanings for particular entities, most of them are represented also directly via other attributes.
LineType EntName Name of a LineType
Layer EntName Name of a Layer
Color ColorCAD Color specified with TsgColorCAD
LineTypeScale Double Scale for Line Type elements
Point FPoint 3D Point defining entity
Thickness Double Thickness
Extrusion FPoint Extrusion direction point
Point1 FPoint 3D point defining entity
Length Double Length value
Angle Double Angle value
Point2 FPoint 3D point defining entity
Point3 FPoint 3D point defining entity


cstSortEntsTable

Represents a SortEntsTable in a Drawing Database.

Syntax:

<cstSortEntsTable LineWeight ="Double" Handle ="EntHandle" Flags ="Integer" LineType ="EntName" Name ="String" />
Parameter Type Description
LineWeight Double Line Weight in mm
Handle EntHandle Handle value
Flags Integer Flags are not suggested for usage. They have different meanings for particular entities, most of them are represented also directly via other attributes.
LineType EntName Name of a LineType
Name String Name string value


cstSpline

Represents a Spline in a Drawing Database.

Syntax:

<cstSpline LineWeight ="Double" Handle ="EntHandle" Flags ="Integer" LineType ="EntName" Layer ="EntName" Color ="ColorCAD" LineTypeScale ="Double" Point ="FPoint" Thickness ="Double" Extrusion ="FPoint" Degree ="Double" StartTangentVector ="FPoint" EndTangentVector ="FPoint" />
Parameter Type Description
LineWeight Double Line Weight in mm
Handle EntHandle Handle value
Flags Integer Flags are not suggested for usage. They have different meanings for particular entities, most of them are represented also directly via other attributes.
LineType EntName Name of a LineType
Layer EntName Name of a Layer
Color ColorCAD Color specified with TsgColorCAD
LineTypeScale Double Scale for Line Type elements
Point FPoint 3D Point defining entity
Thickness Double Thickness
Extrusion FPoint Extrusion direction point
Degree Double Degree value
StartTangentVector FPoint Start tangent direction point
EndTangentVector FPoint End tangent direction point

cstSpline accepts the following child atributes:
Parameter Type Description
ControlPoints FPoints2DOr3D List of Controls for spline and based entities
FitPoints FPoints2DOr3D List of Fits for spline based entities
KnotsPoints FPoints2DOr3D List of Knots for spline based entities
Weights Singles List of Weights for spline based entities

Example:
 
<?xml version="1.0" encoding="utf-8"?>
  <!-- Description:  A circle is specified by a Point and a Radius.   -->
<cadsofttools version="2">
  <!-- Adds entities -->
  <add>
    <cstSpline Point="0,0,0" StartTangentVector="0,0,0" EndTangentVector="0,0,0">
<FitPoints Type="FPoint" Values="0,0,0|0,10.5,0|8.1,-10,0|15,10,0|20,-10,0"/>
  </cstSpline>
  </add>
 <fittosize /> 
  </cadsofttools>


cstStyle

Represents a Style in a Drawing Database.

Syntax:

<cstStyle LineWeight ="Double" Handle ="EntHandle" Flags ="Integer" LineType ="EntName" Name ="String" WidthFactor ="Double" ObliqueAngle ="Double" TextGenFlags ="Integer" LastHeightUsed ="Double" PrimaryFont ="String" BigFont ="String" FontName ="String" FixedHeight ="Double" FontStyle ="Integer" />
Parameter Type Description
LineWeight Double Line Weight in mm
Handle EntHandle Handle value
Flags Integer Flags are not suggested for usage. They have different meanings for particular entities, most of them are represented also directly via other attributes.
LineType EntName Name of a LineType
Name String Name string value
WidthFactor Double Width factor for Style
ObliqueAngle Double Oblique angle
TextGenFlags Integer Text generation flags for Style
LastHeightUsed Double Last used font height for Style
PrimaryFont String Primary font file name for Style
BigFont String Bigfont file name for Style
FontName String Font name
FixedHeight Double Fixed text heigh for Style
FontStyle Integer Font style

Example:
 
<?xml version="1.0" encoding="UTF-8"?>
<cadsofttools version="2">  
   <!-- Description: Setting the font (regular, italic, bold, bold italic) when adding a text style. It is compulsory to use
   the parameters PrimaryFont and FontStyle. Names for other fonts in PrimaryFont can differ from FontName.  -->
   <add>
      <cstSectionTables Name="TABLES">
         <SubEntities>
            <cstTable Name="STYLE">
               <SubEntities>
                  <cstStyle Name="STANDARD-1" PrimaryFont="arial.ttf" FontName="Arial" FontStyle="0"/>
                  <cstStyle Name="STANDARD-2" PrimaryFont="ariali.ttf" FontName="Arial" FontStyle="1"/>
                  <cstStyle Name="STANDARD-3" PrimaryFont="arialbd.ttf" FontName="Arial" FontStyle="2"/>
                  <cstStyle Name="STANDARD-4" PrimaryFont="arialbi.ttf" FontName="Arial" FontStyle="3"/>
               </SubEntities>
            </cstTable>
         </SubEntities>    
      </cstSectionTables>                       
   </add>             
</cadsofttools>  
                                                                                        


cstTable

Represents a Table in a Drawing Database.

Syntax:

<cstTable LineWeight ="Double" Handle ="EntHandle" Flags ="Integer" LineType ="EntName" Name ="String" />
Parameter Type Description
LineWeight Double Line Weight in mm
Handle EntHandle Handle value
Flags Integer Flags are not suggested for usage. They have different meanings for particular entities, most of them are represented also directly via other attributes.
LineType EntName Name of a LineType
Name String Name string value


cstText

Represents a Text in a Drawing Database.

Syntax:

<cstText LineWeight ="Double" Handle ="EntHandle" Flags ="Integer" LineType ="EntName" Layer ="EntName" Color ="ColorCAD" LineTypeScale ="Double" Point ="FPoint" Height ="Double" Rotation ="Double" WidthFactor ="Double" ObliqueAngle ="Double" Text ="String" StyleName ="String" />
Parameter Type Description
LineWeight Double Line Weight in mm
Handle EntHandle Handle value
Flags Integer Flags are not suggested for usage. They have different meanings for particular entities, most of them are represented also directly via other attributes.
LineType EntName Name of a LineType
Layer EntName Name of a Layer
Color ColorCAD Color specified with TsgColorCAD
LineTypeScale Double Scale for Line Type elements
Point FPoint 3D Point defining entity
Height Double Height value
Rotation Double Rotation angle
WidthFactor Double Width factor for Style
ObliqueAngle Double Oblique angle
Text String Text string
StyleName String Name of a Style

Example:
 
<?xml version="1.0" encoding="utf-8"?>
  <!-- Description:  Demonstrates how to add a single-line text.   -->
<cadsofttools version="2">
  <add>
    <cstText Point="0,0" Height="3" Rotation="90" ObliqueAngle="0" Text="Single Line Text" StyleName="STANDARD" Color="0;5;"/>
    <cstText Point="5,15" Height="1.7" ObliqueAngle="15" WidthFactor="0.9" Text="Simbols: \U+2205, %%d, %%p" StyleName="GOST" LineWeight="0.53"/>
  </add>
  <fittosize/>
</cadsofttools>


cstVertex

Represents a Vertex in a Drawing Database.

Syntax:

<cstVertex Handle ="EntHandle" Flags ="Integer" LineType ="EntName" Point ="FPoint" Bulge ="Double" StartWidth ="Double" EndWidth ="Double" />
Parameter Type Description
Handle EntHandle Handle value
Flags Integer Flags are not suggested for usage. They have different meanings for particular entities, most of them are represented also directly via other attributes.
LineType EntName Name of a LineType
Point FPoint 3D Point defining entity
Bulge Double Vertex bulge value
StartWidth Double Start width for a segment
EndWidth Double End width for a segment


cstViewport

Represents a Viewport in a Drawing Database.

Syntax:

<cstViewport LineWeight ="Double" Handle ="EntHandle" Flags ="Integer" LineType ="EntName" Layer ="EntName" Color ="ColorCAD" LineTypeScale ="Double" PSpaceCenter ="FPoint" MSpaceCenter ="FPoint" ViewDirection ="FPoint" ViewTarget ="FPoint" PSpaceWidth ="Double" PSpaceHeight ="Double" FrontClipPlane ="Double" BackClipPlane ="Double" MSpaceHeight ="Double" ViewTwistAngle ="Double" StatusField ="Integer" ThisID ="Integer" ClippingBoundaryHandle ="Handle" />
Parameter Type Description
LineWeight Double Line Weight in mm
Handle EntHandle Handle value
Flags Integer Flags are not suggested for usage. They have different meanings for particular entities, most of them are represented also directly via other attributes.
LineType EntName Name of a LineType
Layer EntName Name of a Layer
Color ColorCAD Color specified with TsgColorCAD
LineTypeScale Double Scale for Line Type elements
PSpaceCenter FPoint Viewport center point on layout
MSpaceCenter FPoint Viewport model view area center point
ViewDirection FPoint Viewport view direction vector (in WCS)
ViewTarget FPoint Viewport view target point (in WCS)
PSpaceWidth Double Viewport width on layout
PSpaceHeight Double Viewport height on layout
FrontClipPlane Double Viewport front cut off plane
BackClipPlane Double Viewport back cut off plane
MSpaceHeight Double Viewport model view area height
ViewTwistAngle Double Viewport view twist angle
StatusField Integer Viewport status field
ThisID Integer Viewport ID
ClippingBoundaryHandle Handle Handle of an entity that serves as a clipping boundary for the Viewport


cstVport

Represents a Vport in a Drawing Database.

Syntax:

<cstVport LineWeight ="Double" Handle ="EntHandle" Flags ="Integer" LineType ="EntName" Name ="String" CircleZoomPercent ="Integer" UCSOrigin ="FPoint" UCSXDir ="FPoint" UCSYDir ="FPoint" UCSVP ="Boolean" ViewAspectRatio ="Double" ViewCenterPoint ="FPoint" ViewDirection ="FPoint" ViewTarget ="FPoint" ViewHeight ="Double" ViewTwistAngle ="Double" />
Parameter Type Description
LineWeight Double Line Weight in mm
Handle EntHandle Handle value
Flags Integer Flags are not suggested for usage. They have different meanings for particular entities, most of them are represented also directly via other attributes.
LineType EntName Name of a LineType
Name String Name string value
CircleZoomPercent Integer VPort circle zoom percent
UCSOrigin FPoint VPort UCS origin
UCSXDir FPoint Header variable. Direction of the current UCS X axis (in WCS)
UCSYDir FPoint Header variable. Direction of the current UCS Y axis (in WCS)
UCSVP Boolean Display UCS icon at UCS origin flag
ViewAspectRatio Double VPort view aspect ratio
ViewCenterPoint FPoint VPort view center point
ViewDirection FPoint Viewport view direction vector (in WCS)
ViewTarget FPoint Viewport view target point (in WCS)
ViewHeight Double VPort view height
ViewTwistAngle Double Viewport view twist angle


cstWipeout

Represents a Wipeout in a Drawing Database.

Syntax:

<cstWipeout LineWeight ="Double" Handle ="EntHandle" Flags ="Integer" LineType ="EntName" Layer ="EntName" Color ="ColorCAD" LineTypeScale ="Double" Point ="FPoint" Thickness ="Double" Extrusion ="FPoint" UVector ="FPoint" VVector ="FPoint" Size ="FPoint" Width ="Double" Height ="Double" />
Parameter Type Description
LineWeight Double Line Weight in mm
Handle EntHandle Handle value
Flags Integer Flags are not suggested for usage. They have different meanings for particular entities, most of them are represented also directly via other attributes.
LineType EntName Name of a LineType
Layer EntName Name of a Layer
Color ColorCAD Color specified with TsgColorCAD
LineTypeScale Double Scale for Line Type elements
Point FPoint 3D Point defining entity
Thickness Double Thickness
Extrusion FPoint Extrusion direction point
UVector FPoint UVector for Wipeout and inherited entities
VVector FPoint VVector for Wipeout and inherited entities
Size FPoint Size of image for Wipeout and inherited entities
Width Double Width value
Height Double Height value


cstXref

Represents a Xref in a Drawing Database.

Syntax:

<cstXref LineWeight ="Double" Handle ="EntHandle" Flags ="Integer" LineType ="EntName" Name ="String" FileName ="String" />
Parameter Type Description
LineWeight Double Line Weight in mm
Handle EntHandle Handle value
Flags Integer Flags are not suggested for usage. They have different meanings for particular entities, most of them are represented also directly via other attributes.
LineType EntName Name of a LineType
Name String Name string value
FileName String File name string

Example:
 
<?xml version="1.0" encoding="UTF-8"?>
<cadsofttools version="2">
  <!-- Description:  Adding a file to the current drawing as an external reference. The path to the Xref is specified in the BLOCKS section, the Flags and Name parameters are compulsory. --> 
  <add>
    <cstSectionBlocks Name="BLOCKS">
      <SubEntities>
        <cstBlock Flags="4" Name="xref">
          <SubEntities>
            <!-- FileName="Specify the file path" -->
            <cstXref FileName="C:\Users\softgold5\Documents\ABViewer 11\Samples\Gasket.dwg"/>
          </SubEntities>
        </cstBlock>
      </SubEntities>
    </cstSectionBlocks>
    <!-- Adds entities Model --> 
    <cstInsert Point="0.5,-0.5,0" BlockName="xref" Extrusion="0,0,1" Angle="0" PScale="1,1,1"/>
  </add>
  <fittosize />
</cadsofttools>


Parameters

Parameter Type Description
ACADVer String Header variable. The AutoCAD drawing database version number
Angle Double Angle value
AngleFromXY Double Angle from plane XY
AngleInXY Double Angle in plane XY
ArcDefPoint FPoint Point defining dimension arc for angular Dimension
Area Double Area value
Arrowhead Boolean Specifies if arrowhead is present for Leader
ArrowSize Double Dimensioning arrow size
ArrowType Byte Arrow type for entities
Attmode Integer Header variable. Attribute visibility: 0 = None 1 = Normal 2 = All
Attribs List List of attributes
BackClipPlane Double Viewport back cut off plane
BasePoint FPoint Base 3D point
BigFont String Bigfont file name for Style
BlockName EntName Name of a Block
BLOCKS List Blocks section
Boundaries List List of boundaries of a Hatch
Boundary List List of elements forming a boundary of a Hatch
Bulge Double Vertex bulge value
Calc Procedure Alternative creation method
CEColor ColorCAD Header variable. Current entity color
CELTScale Double Header variable. Current entity linetype scale
CELType String Header variable. Entity linetype name, or BYBLOCK or BYLAYER
CELWeight Double Header variable. Lineweight of new objects
CenterMass FPoint Center mass point, for BREP topology
CenterPoint FPoint 3D center point
CircleLength Double Length of a circle
CircleZoomPercent Integer VPort circle zoom percent
CLayer String Header variable. Current layer name
ClippingBoundaryHandle Handle Handle of an entity that serves as a clipping boundary for the Viewport
Clockwise Boolean Specifies if Helix is twisted clockwise
Closed Boolean Specifies if entity is closed
CodePage String Header variable. Drawing code page
Color ColorCAD Color specified with TsgColorCAD
ColSpacing Double Spacing for columns
ColumnCount Integer Number of columns
ControlPoints FPoints2DOr3D List of Controls for spline and based entities
Count Integer Number of members in list
Dash Double Dash element from list of elements for dotted lines
DefPoint FPoint Definition point for Dimension
Degree Double Degree value
DeltaX Double Delta X
DeltaY Double Delta Y
DeltaZ Double Delta Z
Description Color Description
DictValue String Dictionary value
DimAlt Boolean Alternate unit dimensioning performed if nonzero
DimAltF Double Alternate unit scale factor
DimAPost String Alternate dimensioning suffix
DimAsz Double Dimensioning arrow size
DimBlk EntName Arrow block name
DimBlk1 EntName First arrow block name
DimBlk2 EntName Second arrow block name
DimCen Double Size of center mark/lines
DimClrD ColorCAD Dimension line color
DimClrE ColorCAD Dimension extension line color
DimClrT ColorCAD Dimension text color
DimDec Integer Number of decimal places for the tolerance values of aprimary units dimension
DimExe Double Extension line extension
DimExo Double Extension line offset
DimGap Double Dimension line gap
DimLFac Double Linear measurements scale factor
DimLwD Double Dimension line lineweight
DimLwE Double Extension line lineweight
DimPost String General dimensioning suffix
DimRBlk EntName Arrow block name for leaders
DimSah Boolean Use separate arrow blocks if nonzero
DimScale Double Overall dimensioning scale factor
DimScaleOverall Double Overall dimensioning scale factor
DimSD1 Boolean Suppression of first extension line
DimSD2 Boolean Suppression of second extension line
DimSE1 Boolean First extension line suppressed if nonzero
DimSE2 Boolean Second extension line suppressed if nonzero
DimStyle String Header variable. Dimension style name
DimTad Integer Text above dimension line if nonzero
DimTih Boolean Text inside horizontal if nonzero
DimTix Integer Force text inside extensions if nonzero
DimToh Boolean Text outside horizontal if nonzero
DIMTXSTY String Dimension text style
DimTxt Double Dimensioning text height
Distance Double Distance
Elevation FPoint Elevation value
EndAngle Double End angle value
EndParam FPoint End parameter for 2D Arc and inherited curves
EndPoint FPoint End point, can be used with 2D and 3D entities
EndTangentVector FPoint End tangent direction point
EndWidth Double End width for a segment
ENTITIES List Entities section
ExtData StringInternal Extended data
ExtMax FPoint Header variable. X, Y, and Z drawing extents upper-right corner (in WCS)
EXTMIN FPoint Header variable. X, Y, and Z drawing extents lower-left corner (in WCS)
Extrusion FPoint Extrusion direction point
FileName String File name string
FILLETRAD Double Header variable. Fillet radius
FitPoints FPoints2DOr3D List of Fits for spline based entities
FixedHeight Double Fixed text heigh for Style
Flags Integer Flags are not suggested for usage. They have different meanings for particular entities, most of them are represented also directly via other attributes.
FontName String Font name
FontStyle Integer Font style
FrontClipPlane Double Viewport front cut off plane
Frozen Boolean Specifies if Layer is frozen
FrozenByNewViewPort Boolean Specifies if Layer is frozen for new Viewports
GlobalWidth Double Global width value
Handle EntHandle Handle value
HandleSave EntHandle Value for alternative access to a Handle
HatchName String Name of a Hatch pattern
HEADER List Header section
Height Double Height value
ImageDef Handle Handle of ImageDef object of Image entity
InsBase FPoint Header variable. Insertion base set by BASE command (in WCS)
InsUnits Integer Header variable. Default drawing units for AutoCAD DesignCenter blocks
IsPlotting Boolean Specifies if this layer will be plotted
IsSolid Boolean Specifies if pattern of a dotted line is solid
Justify Integer Specifies justification type
Knot Double Knot value for spline based entities
KnotsPoints FPoints2DOr3D List of Knots for spline based entities
LastHeightUsed Double Last used font height for Style
Layer EntName Name of a Layer
LayoutScale Color Layout units scale
LeaderPathType Integer Specifies if Leader path is spline
Length Double Length value
LinDefPoint1 FPoint Start point of the first extension line for Dimension
LinDefPoint2 FPoint Start point of the second extension line for Dimension
LineAngle Double Hatch line tilt angle
Lines List List of elements for dotted lines
LineType EntName Name of a LineType
LineTypeScale Double Scale for Line Type elements
LineWeight Double Line Weight in mm
Locked Boolean Specifies entity editability
LTScale Double Header variable. Global linetype scale
MajorPoint FPoint End point of the major axis relative to the Center point for 2D Ellipse
Measurement Integer Header variable. Drawing units: 0 = English; 1 = Metric
MiddlePoint FPoint Middle point of dimension text for Dimension
Mode Integer Mode for alternative creation method
ModelScale Color Model units scale
MSpaceCenter FPoint Viewport model view area center point
MSpaceHeight Double Viewport model view area height
Name String Name string value
OBJECTS List Objects section
ObliqueAngle Double Oblique angle
Offset FPoint 3D offset point
OriginalName String Original name, for BREP topology
PaperSpaceBlock EntName Layout name
PatternAngle Double Angle of lines in Hatch pattern
PatternScale Double Scale for Hatch pattern
Pattren List List of elements of a Hatch pattern
Pattrens List List of patterns for Hatches
PDMODE Integer Header variable. Point display mode
PDSIZE Double Header variable. Point display size
Perimeter Double Perimeter
Periodic Boolean Specifies if Spline based entity is periodic
Point FPoint 3D Point defining entity
Point1 FPoint 3D point defining entity
Point2 FPoint 3D point defining entity
Point3 FPoint 3D point defining entity
PolylineLength Double Polyline length
PrimaryFont String Primary font file name for Style
Properties List Dimension style properties
PScale FPoint Scale factor
PSpaceCenter FPoint Viewport center point on layout
PSpaceHeight Double Viewport height on layout
PSpaceWidth Double Viewport width on layout
RadDefPoint FPoint Definition point for diameter, radius, and angular Dimensions
Radius Double Radius value
RadPt FPoint End point of the major axis relative to the Center point for Ellipse
Ratio Double Ratio of minor axis to major axis for elliptic entities or a two values ratio
Rational Boolean Specifies if Spline based entity is rational
RectWidth Double Width of a rectangle
Rotation Double Rotation angle
RowCount Integer Number of rows
RowSpacing Double Spacing for rows
Scale Double Scale value
ScaleFactor Double ScaleFactor
SegmentIndex Integer Segment index
Size FPoint Size of image for Wipeout and inherited entities
SolidFill Boolean Specifies if a Hatch have solid filling
Start FPoint Start point for Helix
StartAngle Double Start angle value
StartParam FPoint Start parameter for 2D Arc and inherited curves
StartPoint FPoint Start point, can be used with 2D and 3D entities
StartTangentVector FPoint Start tangent direction point
StartWidth Double Start width for a segment
StatusField Integer Viewport status field
StyleName String Name of a Style
SubEntities List Sub entities list
TABLES List Tables section
Tag String Attribute or attribute definition tag string
Text String Text string
TextGenFlags Integer Text generation flags for Style
TextSize Double Header variable. Default text height
TextStyle String Header variable. Current text style name
TextValue String Text string value
Thickness Double Thickness
ThisID Integer Viewport ID
TileMode Integer Header variable. 1 for previous release compatibility mode; 0 otherwise
Transparency Boolean Definition transparency for imageent
TransparentColor Color Definition transparent color for imageent
TurnHeight Double Turn height for Helix
Turns Double Number of turns for Helix
UCSORG FPoint Header variable. Origin of current UCS (in WCS)
UCSOrigin FPoint VPort UCS origin
UCSVP Boolean Display UCS icon at UCS origin flag
UCSXDir FPoint Header variable. Direction of the current UCS X axis (in WCS)
UCSYDir FPoint Header variable. Direction of the current UCS Y axis (in WCS)
UVector FPoint UVector for Wipeout and inherited entities
Value String String value
Vertex ListItem Vertex element
Vertexes List List of Vertexes
ViewAspectRatio Double VPort view aspect ratio
ViewCenterPoint FPoint VPort view center point
ViewDirection FPoint Viewport view direction vector (in WCS)
ViewHeight Double VPort view height
ViewTarget FPoint Viewport view target point (in WCS)
ViewTwistAngle Double Viewport view twist angle
Visible Boolean Specifies entity visibility
Volume Double Volume value, for BREP topology
VVector FPoint VVector for Wipeout and inherited entities
Weight Double Weight value for spline based entities
Weights Singles List of Weights for spline based entities
Width Double Width value
WidthFactor Double Width factor for Style
XrefLink Boolean Specifies if entity is externally dependent on an xref

Types

Type Description
Undefined Undefined value
Boolean Provides an enumeration of the logical True and False values
Byte Supports positive integers from 0 to 255. Occupies 8 bits of storage
Word Supports positive integers from 0 to 65535. Occupies 16 bits of storage
Integer Supports positive and negative integers. Includes 1 bit sign, and 31 bits value
Int64 Supports positive and negative integers. Includes 1 bit sign, and 63 bits value
Color Represents color values in range from -$7FFFFFFF-1 to $7FFFFFFF. The last 3 bytes represents R, G and B values correspondingly
Handle Direct Handle via $
Single Supports single-precision floating-point values
Double Supports double-precision floating-point values
Pointer Provides a general use pointer to any memory based variable
String Represents a string of chars, International alphabet
Point Represents a record holding X and Y integer values
F2DPoint Represents a record holding X and Y double values
FPoint Represents a record holding X, Y and Z double values
Rect Represents a record holding 2D rectangle integer values as either 4 coordinates or 2 points
F2DRect Represents a record holding 2D rectangle double values as either 4 coordinates or 2 points
FRect Represents a record holding 3D rectangle double values as either 6 coordinates or 2 points
Version Represents a record holding major version and minor version integer numbers
ColorCAD Complex type: [0: Index | 1: RGB; Value;]
EntHandle $handle or @handle
EntName String value representing an entity name
List Represents a list ob objects
ListItem Represents an object from a list
StringInternal String value for internal use
Base64 Represents binary data as string
Singles Represents list of Single values
FPoints2DOr3D Represents list of F2DPoint or FPoint
Procedure A method
Parameters List of parameters
Guid Represents a guid identifier

Events

Parameter Type Description
OnUndefined Undefined Abstract event
OnMouseMove Parameters Return values: X="Screen X" Y="Screen Y" point="x,y,z"
OnMouseDown Parameters Return values: X="Screen X" Y="Screen Y" point="x,y,z"
OnMouseUp Parameters Return values: X="Screen X" Y="Screen Y" point="x,y,z"
OnMouseWheel Parameters Return values: X="Screen X" Y="Screen Y" WheelDelta="DELTA" point="x,y,z"
OnSelectEntity String Return values: Result handle="handle of selected entity"
OnConfirmEntitiesDeletion String Event returns handles of the entities to be deleted. Parent application can call a confirmation dialog and delete the entities by command.
OnChangeEntities String Return values: Result handle="handle of selected entity
OnCopyEntities String Return values: Result handle="handle of selected entity
OnCreateEntities String Return values: Result handle="handle of selected entity
OnDeleteEntities String Return values: Result handle="handle of selected entity
OnCancelEntities String Return values: Result handle="handle of selected entity
OnLayoutBeforeChange String Return values: Result handle="handle of selected entity
OnLayoutAfterChange String Return values: Result handle="handle of selected entity
OnPasteEntities String Return values: Result handle="handle of selected entity
OnRedoEntities String Return values: Result handle="handle of selected entity
OnUndoEntities String Return values: Result handle="handle of selected entity
OnKeyDown Parameters Return values: Key="KEYCHAR"
OnKeyUp Parameters Return values: Key="KEYCHAR"
OnKeyPress Parameters Return values: Key="KEY"
OnPaint Undefined
OnMenuContextClick Parameters Return values: Caption and Index of menu
OnMenuButtonClick Parameters Return values: Caption and Handle of button
OnApplicationExeption Parameters Return values: info of an exception
OnMeasure Parameters Return values: Measure

SignToEvent examples

SignToOnApplicationExeption

Example:
 
<?xml version="1.0" encoding="UTF-8"?>
<cadsofttools version="2">
    <!-- Signs to OnApplicationExeption event. The result is the id of the drawing, the name and the description of the error-->    
  <signtoevent Event="OnApplicationExeption" Enabled="True"/>
</cadsofttools>                                                    

SignToOnCancelEntities

Example:
 
<?xml version="1.0" encoding="UTF-8"?>
<cadsofttools version="2">
    <!-- Signs to OnCancelEntities event. The result is the handle of the object that will not be added.
         For instance, the user has started to create a line and then pressed esc. As a result, the handle of this line will be returned-->    
  <signtoevent Event="OnCancelEntities" Enabled="True"/>
</cadsofttools>                                                    

SignToOnChangeEntities

Example:
 
<?xml version="1.0" encoding="UTF-8"?>
<cadsofttools version="2">
    <!-- Signs to OnChangeEntities event. The result is a list of handles of the modified objects-->    
  <signtoevent Event="OnChangeEntities" Enabled="True"/>
</cadsofttools>                                                    

SignToOnConfirmEntitiesDeletion

Example:
 
<?xml version="1.0" encoding="UTF-8"?>
<cadsofttools version="2">
    <!-- Signs to OnConfirmEntitiesDeletion event. Result is a list of deleted entities handles.
         The entities deletion works only with xml commands. -->
  <signtoevent Event="OnConfirmEntitiesDeletion" Enabled="True"/>
</cadsofttools>                        

SignToOnCopyEntities

Example:
 
<?xml version="1.0" encoding="UTF-8"?>
<cadsofttools version="2">
    <!-- Signs to OnCopyEntities event. The result is the number and a list of handles of the copied objects-->    
  <signtoevent Event="OnCopyEntities" Enabled="True"/>
</cadsofttools>                                                    

SignToOnCreateEntities

Example:
 
<?xml version="1.0" encoding="UTF-8"?>
<cadsofttools version="2">
    <!-- Signs to OnCreateEntities event. The result is the handle of the created object-->    
  <signtoevent Event="OnCreateEntities" Enabled="True"/>
</cadsofttools>                                                    

SignToOnDeleteEntities

Example:
 
<?xml version="1.0" encoding="UTF-8"?>
<cadsofttools version="2">
    <!-- Signs to OnDeleteEntities event. The result is a list of handles of the deleted objects and their number-->    
  <signtoevent Event="OnDeleteEntities" Enabled="True"/>
</cadsofttools>                                                    

SignToOnKeyDown

Example:
 
<?xml version="1.0" encoding="UTF-8"?>
<cadsofttools version="2">
    <!-- Signs to OnKeyDown event. The result is the key of the pressed key.
         Please also see the OnKeyUp, OnKeyPress event-->    
  <signtoevent Event="OnKeyDown" Enabled="True"/>
</cadsofttools>                                                    

SignToOnLayoutBeforeChange

Example:
 
<?xml version="1.0" encoding="UTF-8"?>
<cadsofttools version="2">
    <!-- Signs to OnLayoutBeforeChange event. The result is the events before switchingto the layout.
         Please also see the OnLayoutAfterChange event-->    
  <signtoevent Event="OnLayoutBeforeChange" Enabled="True"/>
</cadsofttools>                                                    

SignToOnMeasure

Example:
 
<?xml version="1.0" encoding="UTF-8"?>
<cadsofttools version="2">
    <!-- Signs to OnMeasure event. The result is the measurements with the tools on the Viewer tab on the ribbon-->    
  <signtoevent Event="OnMeasure" Enabled="True"/>
</cadsofttools>                                                    

SignToOnMenuButtonClick

Example:
 
<?xml version="1.0" encoding="UTF-8"?>
<cadsofttools version="2">
    <!-- Signs to OnMenuButtonClick event. The result is the caption and the handle of the button in the custom menu in the ribbon-->    
  <signtoevent Event="OnMenuButtonClick" Enabled="True"/>
</cadsofttools>                                                    

SignToOnMenuContextClick

Example:
 
<?xml version="1.0" encoding="UTF-8"?>
<cadsofttools version="2">
    <!-- Signs to OnMenuContextClick event. The result is the caption and the index of the button in the custom context menu-->    
  <signtoevent Event="OnMenuContextClick" Enabled="True"/>
</cadsofttools>                                                    

SignToOnMouseDown

Example:
 
<?xml version="1.0" encoding="UTF-8"?>
<cadsofttools version="2">
    <!-- Signs to OnMouseDown event. Result is X and Y in the screen and global coordinates.
         Please also see the OnMouseMove, OnMouseUp, OnMouseWheel events-->    
  <signtoevent Event="OnMouseDown" Enabled="True"/>
</cadsofttools>                                                    

SignToOnPaint

Example:
 
<?xml version="1.0" encoding="UTF-8"?>
<cadsofttools version="2">
    <!-- Signs to OnPaint event. The result is the id of the drawing where the background or object color has been modified-->    
  <signtoevent Event="OnPaint" Enabled="True"/>
</cadsofttools>                                                    

SignToOnPasteEntities

Example:
 
<?xml version="1.0" encoding="UTF-8"?>
<cadsofttools version="2">
    <!-- Signs to OnPasteEntities event. The result is the handle of the pasted object-->    
  <signtoevent Event="OnPasteEntities" Enabled="True"/>
</cadsofttools>                                                    

SignToOnRedoEntities

Example:
 
<?xml version="1.0" encoding="UTF-8"?>
<cadsofttools version="2">
    <!-- Signs to OnRedoEntities event. The result is a list of handles of the objects that have been modified, deleted or added after the Redo command applied.
         Please also see the OnUndoEntities event-->    
  <signtoevent Event="OnRedoEntities" Enabled="True"/>
</cadsofttools>                                                    

SignToOnSelectEntity

Description: Signs to OnSelectEntity event. Example:
 
<?xml version="1.0" encoding="UTF-8"?>
<cadsofttools version="2">       
<!-- Description: Signs to OnSelectEntity event. -->  
    <!--  Handles in result will be the last selected entity. 
    All the selected entities can be accessed through calling "GetSelected" command, see GetSelected.xml -->
  <signtoevent Event="OnSelectEntity" Enabled="True"/>
</cadsofttools>                     

Command line examples

Command line supports hundreds of commands which are described in User Help. Here are some examples which shows the most important command line actions which enhance XML interface.

CmpFiles

Description: Open the Compare dialog and set compared filenames Example:
 
<?xml version="1.0" encoding="UTF-8"?>
<cadsofttools version="2">
     <!-- Description:  Open the Compare dialog and set compared filenames -->
  <command text="Comparefiles "drawing1.dxf" "drawing2.dxf""/>
    <!-- Optional parameters: Flags DeletedColor AddedColor ModifiedColor UnmodifiedColor -->
    <!-- Flags bits: 0 - Layer, 1 - LineType, 2 - LineTypeScale, 3 - Thickness, 4 - Color, 5 - LineWeight, 6 - GeomertyDatas -->
    <!-- If optional parameters are passed, the Compare dialog are not showed -->
  <command text="Comparefiles "drawing1.dxf" "drawing2.dxf" 127"/>
</cadsofttools>

HideAllInterface

Description: Hide all interface Example:
 
<?xml version="1.0" encoding="utf-8"?>
<cadsofttools version="2">
    <!-- Description:  Hide all interface -->
  <command text="HideAllInterface" />
</cadsofttools>                               

HideToolbarsPanels

Description: Uses the commands HideTabSet, HideSysButtons, HideStatusbar, HideLayoutPanel, HideInterface, HideMenuButton + on/off to hide toolbars and panels Example:
 
<?xml version="1.0" encoding="UTF-8"?>
<cadsofttools version="2">
    <!-- Description: Uses the commands HideTabSet, HideSysButtons, HideStatusbar, 
  HideLayoutPanel, HideInterface, HideMenuButton + on/off to hide toolbars and panels -->

                                        
    <!-- Hides the tab set with the open drawing -->
  <command text="HideTabSet"/>
    <!-- Hides application system buttons -->
  <command text="HideSysButtons"/>
    <!-- Hides the application statusbar -->
  <command text="HideStatusbar"/>
    <!-- Hides the tab set with layouts -->
  <command text="HideLayoutPanel"/>                     
    <!-- Hides the Interface -->
  <command text="HideInterface"/>
    <!-- Hides the menu button -->
  <command text="HideMenuButton"/>
    <!-- Hides the Ribbon -->
  <command text="Ribbon off"/>
   <!-- Hides the Toolbar with caption Tools on the Page with caption Viewer -->
  <command text=""ToolbarConf" "Viewer" "Tools" "False""/>
    <!-- Hides Editor page with page caption Editor -->
  <command text=""ToolbarConf" "Editor" "allpage" "False""/>
</cadsofttools>
                   


mirror

Example:
 
<?xml version="1.0" encoding="UTF-8"?>
<cadsofttools version="2">
    <!-- Mirror of the selected objects by base point and angle: mirror BasePoint Angle -->
  <command text="mirror 1,1 30"/>
</cadsofttools>

mirror2

Description: Mirrors the selected objects by base point and second point, which defines the angle: mirror BasePoint SecondPoint Example:
 
<?xml version="1.0" encoding="UTF-8"?>
<cadsofttools version="2">
    <!-- Description:  Mirrors the selected objects by base point and second point, which defines the angle: mirror BasePoint SecondPoint -->
  <command text="mirror 1,1 0,3"/>
</cadsofttools>

MovePicture

Description: Move CAD picture Example:
 
<?xml version="1.0" encoding="UTF-8"?>
<cadsofttools version="2">
    <!-- Description:  Move CAD picture -->
  <command text="MovePicture -2 -3"/>
</cadsofttools>

RectZooming

Description: Zoom to the rectangle area specified by two points: left-bottom corner (X, Y), right-top corner (X, Y) Example:
 
<?xml version="1.0" encoding="UTF-8"?>
<cadsofttools version="2">
    <!-- Description:  Zoom to the rectangle area specified by two points: left-bottom corner (X, Y), right-top corner (X, Y) -->
  <command text="RectZooming 0,0 5,5"/>
</cadsofttools>

rotate

Description: Rotates the selected objects by angle: rotate RotatePoint Angle Example:
 
<?xml version="1.0" encoding="UTF-8"?>
<cadsofttools version="2">
    <!-- Description:  Rotates the selected objects by angle: rotate RotatePoint Angle -->
  <command text="rotate 1,1 30"/>
</cadsofttools>

rotate2

Description: Rotates the selected objects by base point and the second point, which defines the angle: rotate BasePoint SecondPoint Example:
 
<?xml version="1.0" encoding="UTF-8"?>
<cadsofttools version="2">     
    <!-- Description: Rotates the selected objects by base point and the second point, which defines the angle: rotate BasePoint SecondPoint -->
  <command text="rotate 1,1 0,4"/>
</cadsofttools>                                                        

savetopng

Example:
 
<?xml version="1.0" encoding="UTF-8"?>
<cadsofttools version="2">
    <!-- Saves as PNG: save Filename.png Width Height Bitperpixel[default = 24] -->
  <command text="filedia 0"/>
  <command text="save "C:\Users\softgold5\Documents\ABViewer 11\Drawings\Image1.png" 200 100"/>
  <command text="filedia 1"/>
</cadsofttools>

SetJPEGExport

Description: JPEG export settings Example:
 
<?xml version="1.0" encoding="UTF-8"?>
<cadsofttools version="2">
    <!-- Description: JPEG export settings -->
    <!-- Enables JPEG Smooting -->
  <command text="ExportJPEGSmooting on"/>
    <!-- Sets JPEG Quality in percent 0..100 -->
  <command text="ExportJPEGQuality 32"/>
</cadsofttools>

SetJPEGSmoothingOff

Description: disables JPEG Smooting Example:
 
<?xml version="1.0" encoding="UTF-8"?>
<cadsofttools version="2">
    <!-- Description: disables JPEG Smooting -->
  <command text="ExportJPEGSmooting off"/>
</cadsofttools>

SetLanguage

Description: Sets interface language Example:
 
<?xml version="1.0" encoding="UTF-8"?>
<cadsofttools version="2">
    <!-- Description: Sets interface language -->
  <command text="SetLanguage Russian"/>
</cadsofttools>

SetOrtho

Description: enables polar tracking Example:
 
<?xml version="1.0" encoding="UTF-8"?>
<cadsofttools version="2">
    <!-- Description: enables polar tracking -->
  <command text="Ortho on"/>
</cadsofttools>

SetOrthoOff

Description: disables polar tracking Example:
 
<?xml version="1.0" encoding="UTF-8"?>
<cadsofttools version="2">
    <!-- Description: disables polar tracking -->
  <command text="Ortho off"/>
</cadsofttools>

SetPolar

Description: Sets polar snap settings Example:
 
<?xml version="1.0" encoding="UTF-8"?>
<cadsofttools version="2">
    <!-- Description: Sets polar snap settings -->
    <!-- Enables polar tracking -->
  <command text="PolarTracking on"/>
    <!-- Sets polar angle step -->
  <command text="PolarTrackingAngle 15"/>
</cadsofttools>

ShowToolbar

Example:
 
<?xml version="1.0" encoding="UTF-8"?>
<cadsofttools version="2">
    <!-- Shows the tab set with open drawing -->
  <command text="ShowTabSet"/>
    <!-- Shows application system buttons -->
  <command text="ShowSysButtons"/>
    <!-- Shows the application statusbar -->
  <command text="ShowStatusbar"/>
    <!-- Shows the tab set with layouts -->
  <command text="ShowLayoutPanel"/>
    <!-- Shows the Interface -->
  <command text="ShowInterface"/>
    <!-- Shows the menu button -->
  <command text="ShowMenuButton"/>
    <!-- Shows the Ribbon -->
  <command text="Ribbon on"/>
    <!-- Shows the Toolbar with caption Tools on the Page with caption Viewer -->
  <command text=""ToolbarConf" "Viewer" "Tools" "True""/>
    <!-- Shows the Editor page with page caption Editor -->
  <command text=""ToolbarConf" "Editor" "allpage" "True""/>
</cadsofttools>






shxdefaultfont

Description: Sets default SHX font Example:
 
<?xml version="1.0" encoding="UTF-8"?>
<cadsofttools version="2">
    <!-- Description: Sets default SHX font -->
  <command text="shxdefaultfont simplex.shx"/>
</cadsofttools>

shxdefaultpath

Description: Sets default SHX path Example:
 
<?xml version="1.0" encoding="UTF-8"?>
<cadsofttools version="2">
    <!-- Description: Sets default SHX path -->
  <command text="shxdefaultpath "C:\Users\softgold5\AppData\Roaming\CADSoftTools\Resources\SHX\""/>
</cadsofttools>

shxfonts

Description: Adds path to path list for search SHX fonts Example:
 
<?xml version="1.0" encoding="UTF-8"?>
<cadsofttools version="2">
    <!-- Description: Adds path to path list for search SHX fonts -->
  <command text="shxfonts C:\"/>
</cadsofttools>

shxfromacad

Description: Imports SHX paths to the path list for search SHX fonts Example:
 
<?xml version="1.0" encoding="UTF-8"?>
<cadsofttools version="2">
    <!-- Description: Imports SHX paths to the path list for search SHX fonts -->
  <command text="shxfromacad"/>
</cadsofttools>                                                                        

SwitchToModel

Example:
 
<?xml version="1.0" encoding="UTF-8"?>
<cadsofttools version="2">
    <!-- Runs command line -->
  <command text="switchtomodel"/>
</cadsofttools>

UnionEdges

Example:
 
<?xml version="1.0" encoding="UTF-8"?>
<cadsofttools version="2">
    <!-- Sets UnionEdgesPrecision variable -->
  <command text="UnionEdgesPrecision 2"/>
    <!-- Executes UnionEdges command -->
  <command text="UnionEdges"/>
</cadsofttools>

ZoomAtPoint

Description: Zoom at mouse point Example:
 
<?xml version="1.0" encoding="UTF-8"?>
<cadsofttools version="2">
    <!-- Description:  Zoom at mouse point -->
  <command text="ZoomAtPoint -120 0 0"/>
</cadsofttools>                            

Go to CADEditorX