0% found this document useful (0 votes)
278 views

Help - Advance Steel .NET and COM API - Autodesk

The document discusses changes to the Advance Steel .NET API, including new namespaces, classes, methods, and properties. Key changes include splitting the API across multiple DLLs and adding functionality for structural analysis, grids, footings, and utilities.

Uploaded by

Tien Ha
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
278 views

Help - Advance Steel .NET and COM API - Autodesk

The document discusses changes to the Advance Steel .NET API, including new namespaces, classes, methods, and properties. Key changes include splitting the API across multiple DLLs and adding functionality for structural analysis, grids, footings, and utilities.

Uploaded by

Tien Ha
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 25

11/10/21, 4:32 PM Help | Advance Steel .

NET and COM API | Autodesk

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.ExtDb
Autodesk.AdvanceSteel.Connection Autodesk.AdvanceSteel.ServicesDatabaseUtils
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.Application Autodesk.AdvanceSteel.Application
Autodesk.AdvanceSteel.BuildingStructure Autodesk.AdvanceSteel.BuildingStructure
Autodesk.AdvanceSteel.CADAccess Autodesk.AdvanceSteel.CADAccess
Autodesk.AdvanceSteel.ConstructionTypes Autodesk.AdvanceSteel.ConstructionTypes
Autodesk.AdvanceSteel.DocumentManagement Autodesk.AdvanceSteel.DocumentManagement

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

It contains the following classes:

Class Effort

Constructor:

Effort()

Properties:
https://help.autodesk.com/view/ADSTPR/2021/ENU/?guid=GUID-AF2072A9-3F8F-4DAC-B595-470A9E32BEE0 1/25
11/10/21, 4:32 PM Help | Advance Steel .NET and COM API | Autodesk

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)

https://help.autodesk.com/view/ADSTPR/2021/ENU/?guid=GUID-AF2072A9-3F8F-4DAC-B595-470A9E32BEE0 2/25
11/10/21, 4:32 PM Help | Advance Steel .NET and COM API | Autodesk

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

https://help.autodesk.com/view/ADSTPR/2021/ENU/?guid=GUID-AF2072A9-3F8F-4DAC-B595-470A9E32BEE0 3/25
11/10/21, 4:32 PM Help | Advance Steel .NET and COM API | Autodesk
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:

Class Grid1D
Methods:

Grid1D(Matrix3d gridCS, double length)

Grid1D(Matrix3d gridCS, double length, double width, int numAxes)

Class GridCircle
Consturctor:

GridCircle(Matrix3d gridCS, double length, Point2d midPt)

GridCircle(Matrix3d gridCS, double length, double width, int numAxes, Point2d


center)

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

Consturctor:

GridElement()

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
https://help.autodesk.com/view/ADSTPR/2021/ENU/?guid=GUID-AF2072A9-3F8F-4DAC-B595-470A9E32BEE0 4/25
11/10/21, 4:32 PM Help | Advance Steel .NET and COM API | Autodesk

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.

Consturctor:

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.

https://help.autodesk.com/view/ADSTPR/2021/ENU/?guid=GUID-AF2072A9-3F8F-4DAC-B595-470A9E32BEE0 5/25
11/10/21, 4:32 PM Help | Advance Steel .NET and COM API | Autodesk

MarkUndo (this method was moved from DocumentManager).

Consturctor:

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)

https://help.autodesk.com/view/ADSTPR/2021/ENU/?guid=GUID-AF2072A9-3F8F-4DAC-B595-470A9E32BEE0 6/25
11/10/21, 4:32 PM Help | Advance Steel .NET and COM API | Autodesk

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

https://help.autodesk.com/view/ADSTPR/2021/ENU/?guid=GUID-AF2072A9-3F8F-4DAC-B595-470A9E32BEE0 7/25
11/10/21, 4:32 PM Help | Advance Steel .NET and COM API | Autodesk

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

https://help.autodesk.com/view/ADSTPR/2021/ENU/?guid=GUID-AF2072A9-3F8F-4DAC-B595-470A9E32BEE0 8/25
11/10/21, 4:32 PM Help | Advance Steel .NET and COM API | Autodesk

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:

https://help.autodesk.com/view/ADSTPR/2021/ENU/?guid=GUID-AF2072A9-3F8F-4DAC-B595-470A9E32BEE0 9/25
11/10/21, 4:32 PM Help | Advance Steel .NET and COM API | Autodesk

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

https://help.autodesk.com/view/ADSTPR/2021/ENU/?guid=GUID-AF2072A9-3F8F-4DAC-B595-470A9E32BEE0 10/25
11/10/21, 4:32 PM Help | Advance Steel .NET and COM API | Autodesk

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

https://help.autodesk.com/view/ADSTPR/2021/ENU/?guid=GUID-AF2072A9-3F8F-4DAC-B595-470A9E32BEE0 11/25
11/10/21, 4:32 PM Help | Advance Steel .NET and COM API | Autodesk

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:

https://help.autodesk.com/view/ADSTPR/2021/ENU/?guid=GUID-AF2072A9-3F8F-4DAC-B595-470A9E32BEE0 12/25
11/10/21, 4:32 PM Help | Advance Steel .NET and COM API | Autodesk

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:

https://help.autodesk.com/view/ADSTPR/2021/ENU/?guid=GUID-AF2072A9-3F8F-4DAC-B595-470A9E32BEE0 13/25
11/10/21, 4:32 PM Help | Advance Steel .NET and COM API | Autodesk

int SeparateBy ( Polyline3d int SeparateBy ( Polyline3d [] lines, out Polyline3d


[] lines, out Polyline3d [] [] resPolylines, double [] gaps )
resPolylines, double gap)

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 Get3dSystemlineArc (out


bInWCS) CircArc3d arcSys, bool bInWCS)

https://help.autodesk.com/view/ADSTPR/2021/ENU/?guid=GUID-AF2072A9-3F8F-4DAC-B595-470A9E32BEE0 14/25
11/10/21, 4:32 PM Help | Advance Steel .NET and COM API | Autodesk

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:

https://help.autodesk.com/view/ADSTPR/2021/ENU/?guid=GUID-AF2072A9-3F8F-4DAC-B595-470A9E32BEE0 15/25
11/10/21, 4:32 PM Help | Advance Steel .NET and COM API | Autodesk

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:

https://help.autodesk.com/view/ADSTPR/2021/ENU/?guid=GUID-AF2072A9-3F8F-4DAC-B595-470A9E32BEE0 16/25
11/10/21, 4:32 PM Help | Advance Steel .NET and COM API | Autodesk

WeldLevel Connect ( FilerObject objToconnect, WeldPoint Connect ( FilerObject objToconnect,


Matrix3d inputCs) 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 ()

https://help.autodesk.com/view/ADSTPR/2021/ENU/?guid=GUID-AF2072A9-3F8F-4DAC-B595-470A9E32BEE0 17/25
11/10/21, 4:32 PM Help | Advance Steel .NET and COM API | Autodesk
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 )

https://help.autodesk.com/view/ADSTPR/2021/ENU/?guid=GUID-AF2072A9-3F8F-4DAC-B595-470A9E32BEE0 18/25
11/10/21, 4:32 PM Help | Advance Steel .NET and COM API | Autodesk

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)

https://help.autodesk.com/view/ADSTPR/2021/ENU/?guid=GUID-AF2072A9-3F8F-4DAC-B595-470A9E32BEE0 19/25
11/10/21, 4:32 PM Help | Advance Steel .NET and COM API | Autodesk

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

https://help.autodesk.com/view/ADSTPR/2021/ENU/?guid=GUID-AF2072A9-3F8F-4DAC-B595-470A9E32BEE0 20/25
11/10/21, 4:32 PM Help | Advance Steel .NET and COM API | Autodesk
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 ()

https://help.autodesk.com/view/ADSTPR/2021/ENU/?guid=GUID-AF2072A9-3F8F-4DAC-B595-470A9E32BEE0 21/25
11/10/21, 4:32 PM Help | Advance Steel .NET and COM API | Autodesk
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:

https://help.autodesk.com/view/ADSTPR/2021/ENU/?guid=GUID-AF2072A9-3F8F-4DAC-B595-470A9E32BEE0 22/25
11/10/21, 4:32 PM Help | Advance Steel .NET and COM API | Autodesk

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)

https://help.autodesk.com/view/ADSTPR/2021/ENU/?guid=GUID-AF2072A9-3F8F-4DAC-B595-470A9E32BEE0 23/25
11/10/21, 4:32 PM Help | Advance Steel .NET and COM API | Autodesk

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.

https://help.autodesk.com/view/ADSTPR/2021/ENU/?guid=GUID-AF2072A9-3F8F-4DAC-B595-470A9E32BEE0 24/25
11/10/21, 4:32 PM Help | Advance Steel .NET and COM API | Autodesk

Parent topic: Developers

Except where otherwise noted, this work is licensed under a Creative Commons Attribution-
NonCommercial-ShareAlike 3.0 Unported License. Please see the Autodesk Creative Commons FAQ
for more information.
© 2021 Autodesk Inc. All rights reserved

https://help.autodesk.com/view/ADSTPR/2021/ENU/?guid=GUID-AF2072A9-3F8F-4DAC-B595-470A9E32BEE0 25/25

You might also like