Advance Steel .NET and COM API

Learn about the Advance Steel API.

AS .NET API Changes

The AS .NET API is split into two separate dlls. The functionalities previously found in ASMgd.dll are now split between ASMgd.dll and ASObjectsMgd.dll.

Namespace distribution:

ASObjectsMgd ASMgd

Autodesk.AdvanceSteel.Arrangement

Autodesk.AdvanceSteel.Connection

Autodesk.AdvanceSteel.ConstructionHelpe

Autodesk.AdvanceSteel.Contours

Autodesk.AdvanceSteel.Exceptions

Autodesk.AdvanceSteel.InteropServices

Autodesk.AdvanceSteel.Modelling

Autodesk.AdvanceSteel.Modelling.Grid

Autodesk.AdvanceSteel.StructuralAnalysis

Autodesk.AdvanceSteel.Utils

Autodesk.AdvanceSteel.ExtDb

Autodesk.AdvanceSteel.ServicesDatabaseUtils

Autodesk.AdvanceSteel.Application

Autodesk.AdvanceSteel.BuildingStructure

Autodesk.AdvanceSteel.CADAccess

Autodesk.AdvanceSteel.ConstructionTypes

Autodesk.AdvanceSteel.DocumentManagement

Autodesk.AdvanceSteel.Application

Autodesk.AdvanceSteel.BuildingStructure

Autodesk.AdvanceSteel.CADAccess

Autodesk.AdvanceSteel.ConstructionTypes

Autodesk.AdvanceSteel.DocumentManagement

Autodesk.AdvanceSteel.StructuralAnalysis is a new .NET API namespace.

It contains the following classes:

Class Effort

Constructor:

Effort()

Properties:

string LoadCaseName
Vector3d F, M
double Fx, Fy, Fz
double Mx, My, Mz

Class Node

Constructor:

Node()

Enum:

eNodeElemEnd
eNodeStatus

Constructor:

double CircleRadius
double FlagPoleLength
int JointRelationLength
Point3d OrientationPoint
Point3d Position
eNodeStatus Status

Methods:

AutoConstructionObject GetAdjacentAutoConstructionObject(Node pNode)
GetAdjacentAutoConstructionObjects(Node pNode, out AutoConstructionObject[] autoConstructionObjects)
Node GetAdjacentNode(AutoConstructionObject pAutoConstructionObject)
GetAdjacentNodes(MainAlias pObj, out Node[] nodesArr)
GetAdjacentNodes(AutoConstructionObject pAutoConstructionObject, out Node[] nodesArr)
int AddDriver(ObjectId driverId)
int AddEffort(NodeElemKey elemKey, Effort effort)
AddElementInfo(NodeElemInfo elemInfo)
AddJointRelation(AutoConstructionObject pAutoConstructionObject)
int DetectJoint()
ObjectId[] GetDrivers()
Effort GetEffort(NodeElemKey elemKey, int nIdx)
int GetEffortLength(NodeElemKey elemKey)
NodeElemInfo GetElementInfo(NodeElemKey elemKey)
GetElementsInfo(out NodeElemInfo[] nfos)
AutoConstructionObject GetJointRelation(int nIdx)
int RemoveDriver(ObjectId driverId)
int RemoveEffort(NodeElemKey elemKey, int nIdx)
NodeElemInfo RemoveElementInfo(NodeElemKey elemKey)
int RemoveJointRelation(AutoConstructionObject pAutoConstructionObject)
int SetEffort(NodeElemKey elemKey, int nIdx, Effort effort)
int SetElementInfo(NodeElemKey elemKey, NodeElemInfo elemInfo)
TransformBy(Matrix3d mat)

Class NodeElemInfo

Constructor:

NodeElemInfo(int driverElemIdx, Node.eNodeElemEnd nElemEnd);

Properties:

int Count

Methods:

AddEffort(Effort effort)
Effort GetEffort(int index)
int RemoveEffort(int index)
int SetEffort(int index, Effort effort)

Class NodeElemKey

Constructors:

NodeElemKey()
NodeElemKey(int driverElemIdx)
NodeElemKey(int driverElemIdx, Node.eNodeElemEnd nElemEnd)

Properties:

Node.eNodeElemEnd ElementEnd
int ElementIndex
bool IsValid

The Grid class has been added to the .NET API in the Autodesk.AdvanceSteel.Modelling namespace.

The class inherits from Autodesk::AdvanceSteel::ConstructionTypes::ConstructionElement.

In addition to the methods from the base class and the RTTI methods, it contains the following methods:

Constructor:

Grid()

Enum:

eGridType
eNumberingType

Properties:

bool AxisFrame
Matrix3d CS
eGridType GridType
string NumberingPrefix, NumberingStart, NumberingSuffix
eNumberingType NumberingType
bool VerticalSeries

Methods:

This gets an array containing all the elements in the Grid. This included elements that were created as neighbors to other elements. Check the GridElement class for further details.

int GetAllElements(out GridElement[] elements)
double getDeltaXInSequence(int sequenceIndex)
int getNumElements()
setDeltaXInSequence(int sequenceIndex, double deltaX)
setNumberingValues(IEnumerable<string> values)
setNumElementPerSequence(int sequenceIndex, int numElements)
setTextLocation(GridElement.eLocation location)     
updateLength(double length)
updateWidth(double width)

Delivered Classes:

This class has been added to the .NET API in the Autodesk.AdvanceSteel.Modelling namespace.

The GridElement class provides read only access to the grid element's axis and labels.

Enum:

eLocation

ctor:

GrConsturidElement()

Methods:

This method is used to get the Element's axis as a Curve3d object. The Curves will be transformed from the given curveCS to WCS; This means that if you want to get the Curve3d objects in the Grid's UCS, you need to provide curveCS = Matrix3d.kIdentity as a parameter. If you want the Curve3d objects in WCS, you need to provide curveCS = grid.CS().

GetCurve(ref Curve3d asCurve, Matrix3d curveCS)

Get the text label at the specified location of the grid axis, kStart or kEnd.

string GetTextAt(eLocation loc)

This class has been added to the .NET API in the Autodesk.AdvanceSteel.Modelling namespace and it is derived from PlateBase.

Constructor:

FootingIsolated(Plane plnBase, Point3d ptCenter, double dXLength, double dYLength)
FootingIsolated(Plane plnBase, Point3d ptCenter, double dRadius)

This class has been added to the .NET API in the Autodesk.AdvanceSteel.Modelling namespace.

It contains a series of statics used to define editable object properties when the object is constructed by a Joint.

The LifeSign class has been added to the .NET API in the Autodesk.AdvanceSteel.Utils namespace. This class is used when Advance Steel is called from external processes and signals that Advance Steel is "alive" and the current operation is calculating.

Methods:

Marks that the current process is calculating; this method must be called from the Advance Steel code from time to time:

Mark(string currentOperation)
Checks that Advance Steel is still "alive" by checking the current time with last marked time:
bool IsAlive()
static LifeSign LifeSignManager()

The Utils class has been added to the .NET API in the Autodesk.AdvanceSteel.Utils namespace.

Methods:

EnsureGraphicsUpdate()

() - makes sure that AutoCAD receives focus after some Advance Steel changes in order to make sure AutoCAD is able to refresh the graphics on the screen. Only use this if your code changes are not properly reflected on the screen (this could sometimes happen when a modeless dialog is opened).

The GeometryUtils class has been added to the .NET API in the Autodesk.AdvanceSteel.Geometry namespace. This class contains a few static const values.

MarkUndo (this method was moved from DocumentManager).

Constructor:

DocumentAccess()

This class is intended to be used in conjunction with a "using" statement - on construction it starts transactions and locks the document, upon destruction it commits the transaction and releases the lock on the document.

This structure has been added to the .NET API in the Autodesk.AdvanceSteel. ConstructionTypes namespace.

Members:

FilerObject CreatedObject
int Tag
string JointTransferId
IEnumerable<int> Attributes

They are all located in the Autodesk.AdvanceSteel.ConstructionTypes namespace.

IFiler - interface defining an object responsible for serialization (used especially by joints):

int ReadVersion()
void WriteVersion(int nVersion)
object ReadItem(string itemName)
void WriteItem(object value, string itemName)
int Length()
Dictionary<string> GetItems()

IFiler Proxy: public ASObjectsAPI::Filer

FilerProxy(IFiler pMgdFiler)
 
virtual int readVersion()
virtual void writeVersion(int nVersion)
virtual int readItem(AstString str, VARIANT* pData)
virtual void writeItem(VARIANT value, AstString str)
virtual int length()
virtual std::map<AstString, VARIANT> getItems()

Filer : IFiler

Filer()
Filer (ASObjectsAPI::Filer pNative)
 
virtual int ReadVersion()
virtual void WriteVersion(int nVersion)
virtual object ReadItem(string itemName)
virtual void WriteItem(object value, string itemName)
virtual int Length()
virtual Dictionary<string> GetItems()

The IJoint interface has been added to the .NET API in the Autodesk.AdvanceSteel. ConstructionTypes namespace.

Properties:

ObjectId Id
IEnumerable< FilerObject> InputObjects
IEnumerable< FilerObject> CreatedObjects

Methods:

setInputObjects(IEnumerable< FilerObject> objects, IEnumerable<int> groupIds)
setCreatedObjects(IEnumerable<CreatedObjectInformation> objects, bool bCreationStatus)
UpdateDrivenConstruction()
virtual IFiler Save()
virtual void Load(IFiler filer)

The IRuleUIBuilder interface has been added to the .NET API in the Autodesk.AdvanceSteel. ConstructionTypes namespace. This interface can be used to automatically build Joint pages and controls just by specifying the control type, default values and page information. When using this, the API user no longer has to manually create Joint page resources and handle UI interaction.

Enum:

eSelectorType
eSheetDimension

Properties:

int FirstPageBitmapIdx
int SheetPromptId
eSheetDimension SheetDimension

Methods:

Create new rule page

int BuildRulePage(int nTitleId, int nGroupId, string resourceDllName, string imageResName)
int BuildRulePage(int nTitleId, int nGroupId, int nImageIdFromDB)

Text box without units

AddTextBox(int nPageId, string label, string propertyName, System.Type propertyType)
AddTextBox(int nPageId, int labelId, string propertyName, System.Type propertyType)

Text box with units

AddTextBox(int nPageId, string label, string propertyName, System.Type propertyType, DotNetRoots.Units.Unit.eUnitType unitType)
AddTextBox(int nPageId, int labelId, string propertyName, System.Type propertyType, DotNetRoots.Units.Unit.eUnitType unitType)

Check box

AddCheckBox(int nPageId, string label, string propertyName)

Combo box from table

AddSelectorCustom(int nPageId, string label, string propertyName, string TableName)
AddSelectorCustom(int nPageId, int label, string propertyName, string TableName)

Combo box with item list

AddSelectorCustom(int nPageId, string labelId, string propertyName, System.Type propertyType, IEnumerable<string> items)
AddSelectorCustom(int nPageId, int labelId, string propertyName, System.Type propertyType, IEnumerable<string> items)

Profile e/material/weld control with the option to filter only certain profile shapes (ex. I, U, W…)

AddSelector(int nPageId, eSelectorType type, string label, string propertyName, IEnumerable<string> filter)
AddSelector(int nPageId, eSelectorType type, int labelId, string propertyName, IEnumerable<string> filter)

Bolts/anchors/shear studs controls

AddBoltSelector(int nPageId, string label, string typePropertyName, string materialPropertyName, string diameterPropertyName, string setPropertyName)
AddAnchorSelector(int nPageId, string label, string typePropertyName, string materialPropertyName, string diameterPropertyName, string setPropertyName, string lengthPropertyName)
AddConnectorSelector(int nPageId, string label, string typePropertyName, string materialPropertyName, string diameterPropertyName)

The IUI interface has been added to the .NET API in the Autodesk.AdvanceSteel. ConstructionTypes namespace.

Enum:

eUIErrorCodes

kUINormal = 0,// Request succeeded
kUIError = 1,// Some other error
kUICancel = 2,// User cancelled request -- Ctl-C
kUIRejected = 3,// AutoCAD rejected request -- invalid
kUIKwd = 4,// Keyword returned
kUIInputTruncated = 5,// Input didn't all fit in the buffer
kUINoResult = 6// No Result

Properties:

FilerObject[] Drivers
Point3d[] DriversPoints

Methods:

Point3d AcquirePoint(bool bWithRubberBand, Point3d ptRubberStart, bool bRubberStartPtInWCS, bool bResPointInWCS, int nPrompt, out eUIErrorCodes errCode)
double AcquireDistance(int nPrompt, out eUIErrorCodes errCode)
double AcquireDouble(int nPrompt, out eUIErrorCodes errCode)
int AcquireInteger(int nPrompt, out eUIErrorCodes errCode)
string AcquireUserOption(int nPrompt, out eUIErrorCodes errCode)
bool AcquireYesOrNo(int nPrompt, out eUIErrorCodes errCode)
FilerObject SelectObject(int nPrompt, bool bSingleClick, out eUIErrorCodes errCode)
Note: bSingleClick changes the behavior between: One click means selection intention and anything that is under mouse is instantly selected

The user can select multiple objects, use CTRL or SHIFT + click to add / remove items from selection and the selection is processed only when the user presses Enter or the right-click.

FilerObject AcquireSingleObjectWithPoint(int nPrompt, out eUIErrorCodes errCode, out  Point3d pickPoint)
FilerObject AcquireSingleObjectWithKeywords(int nPrompt, out eUIErrorCodes errCode)
FilerObject AcquireBeamWithEnd(int nPrompt, out eUIErrorCodes errCode, out  Modelling.Beam.eEnd beamEnd)                                                       
FilerObject [] SelectObjects(int nPrompt, out eUIErrorCodes errCode)
 
PrintMessage(int nPrompt)
PrintstringMessage(string message)
SetKeywords(int[] keywords)
int GetSelectedKeyword()
 
ClearClassFilter()
Matrix3d GetUCS()
DoItSilently(bool bSilent)
bool IsSilentMode()

The IRule interface has been added to the .NET API in the Autodesk.AdvanceSteel. ConstructionTypes namespace.

Property:

 ObjectId JointId

Methods:

Query(IUI ui)
CreateObjects()
Save(IFiler filer)
Load(IFiler filer)
GetRulePages(IRuleUIBuilder builder)
string GetTableName()

Class UserAutoConstructionObject

New enum:

NodeStatus

New methods:

Effort[] GetNSAModuleEfforts(string moduleId, string standardId)
AddNSAModuleEffort(string moduleId, string standardId, Effort effort)
RemoveNSAModuleEfforts(string moduleId, string standardId)
int DetectNode()

bool GetConnectionPages(out IntPtr[] hwnds, out string[] pagesNames, out int[][] pagesGroups, out string[] groupsNames, out string sheetName)
bool GetConnectionDesignPages(out IntPtr[] hwnds, out string[] pagesNames)

UserAutoConstructionObject::NodeStatus PresizeJoint(out string reportFileName, out string shortReportFileName) 
UserAutoConstructionObject::NodeStatus CheckJoint(out string reportFileName, out string shortReportFileName) 
LoadNSAModuleFiler(string moduleNormId, IFiler filer)
IFiler SaveNSAModuleFiler(string moduleNormId)
GetAvailableDesignModules(out Dictionary<string, string> modulesMap, out string defaultModule)
SetCurrentDesignModule(string moduleName)
SetOutputReportPath(string path)
SetOutputReportId(int nId)
string GetLastReportFilename(bool bQuickReportFilename)
 
emptyDrivers()
appendDriver(FilerObject Driver, long groupIdentifier)
UpdateDrivenConstruction()
setInputObjects(IEnumerable<FilerObject> objects, IEnumerable<int> groupIds)
setCreatedObjects(IEnumerable<CreatedObjectInformation> objects, bool bCreationStatus)
 

New properties:

bool UseDetailedTorsors 
bool CheckIsAvailable 
bool PresizeIsAvailable 
bool ImportIsAvailable 
bool ExportIsAvailable 
bool UseLoadCasesIsAvailable
string NSAModuleName
string NSAModuleStandard
IEnumerable<FilerObject> CreatedObjects
IEnumerable<FilerObject> InputObjects

New events:

UpdatedEvent DesignParametersChanged;
UpdatedEvent Failed;
UpdatedEvent Updated

New method:

int GetDriverRealIndex(ObjectId driverId)

Changed properties:

List<ObjectId> Drivens
IEnumerable<ObjectId> Drivens
List<ObjectId> Drivers
IEnumerable<ObjectId> Drivers

Class OpenDatabase

Deleted method:

 UnitsSet getUnitSet()

New property:

UnitsSet Units

New method:

int destroyDatabase( Database )

New properties:

int MaterialUsedForNumbering
int CoatingUsedForNumbering
int DennotationUsedForNumbering
int ItemNumberUsedForNumbering
int AssemblyUsedForNumbering
int NoteUsedForNumbering

New methods:

SetUserAttributeUsedForNumbering ( long attributeIdx, int val)
int GetUserAttributeUsedForNumbering ( long attributeIdx)

Deleted method:

 bool IsMainPart ( AtomicElement pAtomi)

New method:

 GetNumberingStatus ( AtomicElement pAtomi, out bool spNumberOk, out bool mpNumberOk)

Deleted method:

updateObjectsVisibility ( bool updateClips, int changeViewDir)

New method:

updateClips (int changeViewDir)
Note: This method activates/deactivates the selected modelViews (activates the clipping planes which clip the objects inside the modelViews and hide those outside. If the changeViewDir value is 0 the view direction is not changed. If different than 0, the view direction is changed to that of the ModelView

Deleted method:

 int RunCommand ( string commandName, ParametersContainer params)

Deleted method:

GetAdvanceSteelLicenseData (out string strASVersion, out string strASLicense)

New method:

 string [] GetMainPartDetailDrawingsOf ( string strPositionNumber)

New method:

 bool isDuringXRefEdit ()

Class ObjectId

Added a new constructor from IntPtr - "oldId". This allows conversion from Acad to AS ObjectId and back (available starting with 2016 R2)

New property:

 double [][] Values

New property:

 double [][] Values

This returns the underlying matrix as a 4x4 array.

New methods:

 bool IsMirroring ( Tol tol)
bool IsMirroring ()

New method:

 bool IsEqualTo ( Plane plane, Tol tol)

New properties:

 int VertexCount
 Point3d []Vertices
VertexInfo []VertexInformation

New methods:

EnsureContinuity ( )
Note: Adjusts vertices so that they match the true line-arc or arc-arc intersections so that we do not get a self-intersecting error for contours detected from bodies with "recovered" arcs, etc. It does not add/remove/change the order of vertices, but only slightly moves some of them. This function should not normally be used, except when constructing polylines from at least an arc and when it is suspected that the given vertices are not perfectly adjusted.
 Reinitialize ( int changeVertexAllowed, Tol tol)
Note: This function performs a number of useful things - it eliminates coincident vertices, consecutive collinear edges and arcs on the same circle (with the given tolerance tol, only if changeVertexAllowed is true) and it also reinitializes the normal and validity of the polyline; it should be called whenever you are not sure that the polyline is already in a "initialized" state (e.g. you didn't construct it yourself) and it will be passed to other functions (which may assume that the polyline is initialized).

Deleted methods:

Point3d [] GetVertices ()
 VertexInfo [] GetVertexInfo ()
int GetVertexCount ()

Changed methods:

int SeparateBy ( Polyline3d [] lines, out Polyline3d [] resPolylines, double gap) 
int SeparateBy ( Polyline3d [] lines, out Polyline3d [] resPolylines, double [] gaps ) 

Property change:

Vector3d Offsets -> Vector2d Offsets

New enum:

 eXRotation

Actually around an axis parallel to the beam axis contained in the second (depth-defining) plane of the notch, taken before the rotation around the notch axis is applied:

kAroundNotch

Around the beam axis:

 kAroundBeam

New properties:

double XAngle
BeamNotchEx::eXRotation XRotation
double ZAngle
double AxisAngle

Changed methods:

 GetArcNormal (out Vector3d vNormal, int bInWCS)
GetArcNormal (out Vector3d vNormal, bool bInWCS)
 GetArcCenter (out Point3d ptCenter, int bInWCS)
GetArcCenter (out Point3d ptCenter, bool bInWCS)
Get3dSystemlineArc (out CircArc3d arcSys, int bInWCS)
Get3dSystemlineArc (out CircArc3d arcSys, bool bInWCS)

Class ProfileType

New method:

Check if the profile supports k-distance and retrieve it from the profile database if present.

 bool  GetKDistance (out double dDistance)

Class PlateBase

New method:

 getOuterContour ( Matrix3d inCS, bool bGetFromBody, bool bReinit, BodyContext::eBodyContext bodyContext, bool bCheckWeldigPrep)

inCS - the contour will be retuned in this CS.

bGetFromBody - if true, the contour is obtained from the plate body; if false, the contour will be calculated from the plate parameters. This method is faster, but it only takes into account corner features (chamfers and fillets), and only one for each corner.

bReinit - calls reinitialize() on the returned contour, if true.

bodyContext - if bGetFromBody is true, this context is used for obtaining the body from which the contour is returned; otherwise, it controls whether fillets and chamfers are taken into account (through its OuterContours property - all predefined contexts have this set, except kUnNotched).

bCheckWeldingPrep - deprecated.

New method:

getContourPolygon (out Point3d [] ptsContour)

Class FeatureObject

Removed:

 eFeatureType enum 
eFeatureType getFeatureType ()

Name change:

From getFeatureCS to getCS.

Renamed properties:

NumberOnX -> Nx
NumberOnY -> Ny

Deleted properties/methods:

 string AnchorGrade

Should use BoltMaterial instead.

SetAnchorLength ( double dLength)

Changed methods:

int AssemblyLocation ()
 AtomicElement.eAssemblyLocation AssemblyLocation ()
AssemblyLocation ( int nValue)
AssemblyLocation ( AtomicElement.eAssemblyLocation nValue)

Class ScrewBoltPattern

Changed methods:

 int AssemblyLocation ()
 AtomicElement.eAssemblyLocation AssemblyLocation ()
 AssemblyLocation ( int nValue)
AssemblyLocation ( AtomicElement.eAssemblyLocation nValue)

Changed properties:

 double SumToSetHeight
 double SumTopSetHeight

This class is now named WeldPoint.

The change is a consequence of renaming WeldLevel to WeldPoint.

Changed methods:

WeldLevel Connect ( FilerObject objToconnect, Matrix3d inputCs)

WeldPoint Connect ( FilerObject objToconnect, Matrix3d inputCs)

Some constructors (mostly default ones) were changed:

Deleted constructors:

Class

Deleted constructors

AnchorPattern

AnchorPattern ()
AnchorPattern(FilerObject pFilerObj)

ActiveConstructionElement

ActiveConstructionElement ()
ActiveConstructionElement ( FilerObject pFilerObj)

BeamNotch

BeamNotch ( FilerObject pTrueObj)

BeamMultiContourNotch

BeamMultiContourNotch ( FilerObject pTrueObj)

BeamFeatEdge

BeamFeatEdge ( FilerObject pTrueObj)
BeamFeatEdge ( Beam pBeam, Point3d pickPtWCS, eFilletTypes filletType, double dEdge1, double dEdge2)

BeamNotch2Ortho

BeamNotch2Ortho ( FilerObject pTrueObj)

BeamNotchEx

BeamNotchEx ( FilerObject pTrueObj)

BeamShortening

BeamShortening ( FilerObject pTrueObj)

BeamTapered

BeamTapered ()
BeamTapered ( FilerObject pTrueObj)

BentBeam

BentBeam ()
BentBeam ( FilerObject pTrueObj)

BoundedRectArranger

BoundedRectArranger ()
BoundedRectArranger ( FilerObject pTrueObj)

BuildingStructureItem

BuildingStructureItem ()
BuildingStructureItem ( FilerObject pTrueObj)

BuildingStructureManager

BuildingStructureManager ()
BuildingStructureManager ( FilerObject pTrueObj)

BuildingStructureManagerListObject

BuildingStructureManagerListObject ()
BuildingStructureManagerListObject ( FilerObject pTrueObj)

BuildingStructureObject

BuildingStructureObject ()
BuildingStructureObject ( FilerObject pTrueObj)

BuildingStructureTreeObject

BuildingStructureTreeObject ()
BuildingStructureTreeObject ( FilerObject pTrueObj)

BuildingStructureTreeObjectData

BuildingStructureTreeObjectData ( FilerObject pTrueObj)

CircleArranger

CircleArranger ()
CircleArranger ( Arranger pNative )

CircleScrewBoltPattern

CircleScrewBoltPattern ()
CircleScrewBoltPattern ( FilerObject pTrueObj)

CompoundStraightBeam

CompoundStraightBeam ()
CompoundStraightBeam ( FilerObject pTrueObj)

ConcreteBeam

ConcreteBeam ()
ConcreteBeam ( FilerObject pTrueObj)

ConcreteBeamBent

ConcreteBeam Bent ()
ConcreteBeam Bent ( FilerObject pTrueObj)

Connection

Connection ()
Connection ( FilerObject pTrueObj)

ConnectionHoleBeam

ConnectionHoleBeam ()
ConnectionHoleBeam ( FilerObject pTrueObj)

ConnectionHolePlate

ConnectionHolePlate ( FilerObject pTrueObj)

Connector

Connector ( FilerObject pTrueObj)

ExtendedHole

ExtendedHole ( FilerObject pTrueObj)

FinitRectScrewBoltPattern

FinitRectScrewBoltPattern ()
FinitRectScrewBoltPattern ( FilerObject pTrueObj)

FoldedPlate

FoldedPlate ()
FoldedPlate ( FilerObject pTrueObj)

Grating

Grating ()
Grating ( FilerObject pTrueObj)

InfinitMidScrewBoltPattern

InfinitMidScrewBoltPattern ()
InfinitMidScrewBoltPattern ( FilerObject pTrueObj)

InfinitRectScrewBoltPattern

InfinitRectScrewBoltPattern ()
InfinitRectScrewBoltPattern ( FilerObject pTrueObj)

LevelObject

LevelObject ()

ModelViewObject

ModelViewObject ()
ModelViewObject ( FilerObject pTrueObj)

PassiveConstructionObject

PassiveConstructionObject ()
PassiveConstructionObject ( FilerObject pFilerObj)

Plate

Plate ()
Plate ( FilerObject pTrueObj)

PlateContourNotch

PlateContourNotch ()
PlateContourNotch ( FilerObject pTrueObj)

PlateFeatContour

PlateFeatContour ( FilerObject pTrueObj)

PlateFeatShortening

PlateFeatShortening ( FilerObject pTrueObj)

PlateFeatVertFillet

PlateFeatVertFillet ( FilerObject pTrueObj)

PlateFeatWeldFillet

PlateFeatWeldFillet ( FilerObject pTrueObj)

PlateFold

PlateFold ()
PlateFold ( FilerObject pTrueObj)

PlateFoldRelation

PlateFoldRelation ()
PlateFoldRelation ( FilerObject pTrueObj)

PolyBeam

PolyBeam ()
PolyBeam ( FilerObject pTrueObj)

ProjectData

SetNative ( ProjectData pNative)
ProjectData GetNative ()

RectangularArranger

RectangularArranger ()
RectangularArranger ( FilerObject pTrueObj)

Slab

Slab ()
Slab ( FilerObject pTrueObj)

SpecialPart

SpecialPart ()
SpecialPart ( FilerObject pTrueObj)

StraightBeam

StraightBeam ()
StraightBeam ( FilerObject pTrueObj)

StudShear

StudShear ( FilerObject pTrueObj)

TimberBeam

TimberBeam ()
TimberBeam ( FilerObject pTrueObj)

UnfoldedStraightBeam

UnfoldedStraightBeam ()
UnfoldedStraightBeam ( FilerObject pTrueObj)

UserAutoConstructionObject

UserAutoConstructionObject ()
UserAutoConstructionObject ( FilerObject pTrueObj)

UserDefinedPoint

UserDefinedPoint ()
UserDefinedPoint ( FilerObject pTrueObj)

Wall

Wall ()
Wall ( FilerObject pTrueObj)

WeldPoint

WeldPoint ()
WeldPoint ( FilerObject pTrueObj)

WorkingPlane

WorkingPlane ()
WorkingPlane ( FilerObject pTrueObj)

New constructors:

Class

New constructors

BeamFeatEdge

This constructor will create a corner feature:
BeamFeatEdge BuildCornerCutFeature ( Beam pBeam, Point3d pickPtWCS, eFilletTypes filletType, double dEdge1, double dEdge2)

UserAutoConstructionObject

 UserAutoConstructionObject ( string strRuleName, Dictionary < FilerObject ,
Point3d> inputDrivers, IFiler pFiler)

UserDefinedPoint

UserDefinedPoint ( Point3d pt)

has been removed from .Net API.

AS COM API Changes

SteelAutomation library

Version has been incremented to 6.0

New eAttributeCodes enum items:

kBoltPatternCommonSinglePartNumber
kBoltPatternCommonSinglePartPrefix

Removed method:

HRESULT SetLayer([in]BSTR newLayer)

Interface IGrating

New properties:

HRESULT StandardHatch([out, retval] BSTR* strHatch)
HRESULT RotateDirectionBy([in] double ang)
HRESULT GratingClassRunName([out, retval] BSTR* strGratingClassRunName)
HRESULT GratingSizeRunName([out, retval] BSTR* strGratingSizeRunName)
HRESULT GratingWidthKey([out, retval] BSTR* strGratingWidthKey)
HRESULT GratingWidthKey([in] BSTR strWidth)
HRESULT GratingWidthRunName([out, retval] BSTR* strGratingWidthRunName)
HRESULT CrossBar([out, retval] BSTR* strCrossBar)
HRESULT CrossBar([in]BSTR strCrossBar)
HRESULT CrossBarRunName([out, retval] BSTR* strCrossBarRunName)
HRESULT ConnectorNameUsedForNumbering([out, retval] int* nConnectorNameUsedForNumbering)
HRESULT ConnectorNameUsedForNumbering([in]int nUsed)
HRESULT ConnectorQuantityUsedForNumbering([out, retval] int* nConnectorQuantityUsedForNumbering)
HRESULT ConnectorQuantityUsedForNumbering([in]int nUsed)
HRESULT EDValueUsedForNumbering([out, retval] int* nEDValueUsedForNumbering)
HRESULT EDValueUsedForNumbering([in]int nUsed)
HRESULT WidthExtensionLeft([out, retval] double* dWidthExtentionLeft)
HRESULT WidthExtensionLeft([in]double dWidthExtensionLeft)
HRESULT WidthExtensionRight([out, retval] double* dWidthExtentionRight)
HRESULT WidthExtensionRight([in]double dWidthExtensionRight)
HRESULT UseStandardED([out, retval] VARIANT_BOOL* bUseStandardED)
HRESULT UseStandardED([in]VARIANT_BOOL bUseStandardED)
HRESULT EDValue([out, retval] double* dEDValue)
HRESULT EDValue([in]double dEDValue)
HRESULT OEDValue([out, retval] double* dOEDValue)
HRESULT CrossBarQuantity([out, retval] int* nCrossBarQuantity)
HRESULT ConnectorKey([out, retval] int* nConnectorKey)
HRESULT ConnectorKey([in]int nConnectorKey)
HRESULT YDir([out, retval] IVector3d** vYDir)
HRESULT LengthOnSpanDirection([in]double dNewLength)
HRESULT WidthOnSpanDirection([in]double dNewWidth)
HRESULT BearingBarQuantity([out, retval] int* nBearingBarQuantity)
HRESULT ExactPaintArea([out, retval] double* dExactPaintArea)
HRESULT BearingBarSpacingDistance([out, retval] double* dBearingBarSpacingDist)
HRESULT BearingBarSpacing([out, retval] int* nBearingBarSpacing)
HRESULT BearingBarSpacing([in]int nBearingBarSpacingKey)
HRESULT CrossBarSpacingDistance([out, retval] double* dCrossBarSpacingDist)
HRESULT CrossBarSpacing([out, retval] int* dCrossBarSpacing)
HRESULT CrossBarSpacing([in]int nCrossBarSpacingKey)
HRESULT EDPointGrips( [out] IPoint3d** top, [out] IPoint3d** bottom, [out, retval] int* nEDPointGrips)
HRESULT ThicknessOfABearingBar([out, retval] double* dThicknessOfABearingBar)
HRESULT ThicknessOfACrossBar([out, retval] double* dThicknessOfACrossBar)
HRESULT BarGratingProductName([out, retval] BSTR* strBarGratingProductName)
HRESULT GratingRunName([out, retval] BSTR* strGratingRunName)

Interface IAstUI

New method:

HRESULT IsSilentMode([out, retval]int* bSilent)

Interface IJoint

New method:

HRESULT CreateBarGrating([in]IRole* pRole, [in]BSTR strSeries, [in]int bearingBarSpacing, [in]int crossBarSpacing,
                                                        [in]BSTR strThickness, [in]BSTR strWidth, [in]BSTR strCrossBar, [in]IPlane *cadPlane,
                                                        [in]IPoint3d *ptCenter, [in]double dLength, [out, retval] IGrating** pGrating)

This has been removed from Steel Automation.