Share
 
 

Advance Steel 2025 .NET and COM API Changes (What's New in 2022)

Learn about modifications and new additions in the API of this release of the software.

AS .NET API new classes and methods

Better support for comparison operators for ObjectId, FilerObject, and Document classes makes them more suited to be used in Sets or as keys in Maps.

  • Autodesk.AdvanceSteel.Modelling.StraightBeam
    • property CamberInfo - sets/gets camber parameters for straight beam object type.
  • Autodesk.AdvanceSteel.Modelling.CamberInfo
    • It has multiple properties:
      • double Position

        double Height

        double EndOffset

        double StartOffset

        bool IsAsymmetricStatus

        bool DirectionYZStatus

  • Autodesk.AdvanceSteel.Modelling.Grid
    New enum:
    • enum class eVerticalProjectionStatus

      {

      kDisabled = 0,

      kEnabled = 1,

      kNotAllowed = 2

      } - potential values for the vertical projection of the grid in GA detail drawings and model views

    New properties:
    • property eVerticalProjectionStatus VerticalProjectionStatus { eVerticalProjectionStatus get(); } - determines if the vertical projection is disabled, enabled, or not allowed (if the grid is in a non-horizontal plane).
      • property bool VerticalProjection { void set(bool value); } - controls whether the grid should be projected in GA detail drawings and model views.
    New methods:
    • // grid projected in GA detail drawings and model views

      bool isProjectionSet() const;

      void setProjection(bool bProj = true);

    • // only grids in xOy or parallel planes will actually be projected

      bool isProjectable() const;

      // verifies that the grid projection is set and the grid is actually projectable

      bool isProjectionEnabled() const;

    New object attribute:
    • kGrid_Projection
  • Autodesk.AdvanceSteel.Modelling.ConstructionTypes
    • new class ContourConstructionObject - base class for contour construction objects.
      • property Polyline3d Contour { get();} returns the contour, in the local coordinate system of this object. To get it in WCS you need to apply <see cref="CS"/> transformation matrix.
      • property Matrix3d CS { get();} returns the coordinate system for this construction object. It is computed automatically on constructor.
    • new class AreaObject - area object
      • AreaObject(Polyline3d contour); - creates an AreaObject. contour - input geometry, in WCS, that defines the area
      • property OpeningObject[] Openings {get()}; - list with the openings from this area
      • void AddOpening(OpeningObject opening); - add opening to this area
      • bool RemoveOpening(OpeningObject opening); - remove opening object from this area
    • new class OpeningObject - opening objec
      • OpeningObject (Polyline3d contour); - creates an OpeningObject. contour - input geometry, in WCS, that defines the opening
      • property AreaObject ParentArea {get();} - parent AreaObject of this opening
  • Autodesk.AdvanceSteel.ConstructionTypes.IJoint
    • New enum:
      • enum class FilerLoadOption

        {

        kOverrideOnly = 0, // override existing values only

        kOverrideAndAddNew = 1, // override existing values and add new values

        kReplaceAll = 2, // replace all

        }; - potential values for the new method Load of IJoint

      • virtual void Load(IFiler^ filer, IJoint::FilerLoadOption fo); - new method to load parameters with options
  • Autodesk.AdvanceSteel.Utils
    • new methods:
      • static void MarkSelection(IEnumerable<ObjectId> objIds); - mark objects
      • static void UnmarkAll();- unmark all marked objects
      • static bool isObjectMarked(ObjectId id);
      • static int markedObjectsCount();
      • static System::Collections::Generic::IEnumerable<ObjectId> getMarkedObjects();
  • Autodesk.AdvanceSteel.BuildingStructure.ModelViewObject
  • Autodesk.AdvanceSteel.ConstructionHelper.Camera
    • new methods:
      • setSelectedQueries(IEnumerable<String>) //Sets the names of the selected search filter queries used to detail objects
      • getSelectedQueriesNames(IEnumerable<String>); //Returns the names of the selected search filter queries used to detail objects
  • Autodesk.AdvanceSteel.BuildingStructure
    • new methods:
      • static ObjectsQuery getQuery(String strQuerryName); - Returns an ObjectsQuery object with the given name, if it exists in the model.
      • static String getQueryName(ObjectsQuery query); - Returns the name of an ObjectsQuery object that is present in the model.
      • static IEnumerable<ObjectId> getAllQueries(); - Returns the object ids of all the existing ObjectsQuery objects from the model.
      • static IEnumerable<String> getAllQueriesNames(); - Returns the names of all the existing ObjectsQuery objects from the model.
  • Autodesk.AdvanceSteel.ConstructionTypes.IStressModuleJoint
    • new properties:
      • property System::String^ ModuleOutputFileName {System::String^ get(); } - Returns the path to the report file names without the extension
    • new methods:
      • int setRuleParameterValue(Object^ data, System::String^ strParamName); - Sets parameter value for the joint - strParamName=name of the parameter; data=new value for the parameter
  • Autodesk.AdvanceSteel.ConstructionTypes.UserAutoConstructionObject
    • modified methods:
      • UserAutoConstructionObject::NodeStatus PresizeJoint(IStressModuleJoint^ SMJointHandler, [System::Runtime::InteropServices::Out] System::String^% reportFileName, [System::Runtime::InteropServices::Out] System::String^% shortReportFileName);- new parameter SMJointHandler - the IStressModuleJoint for the joint - can be set to null if the default IStressModuleJoint from Advance Steel is suitable
      • UserAutoConstructionObject::NodeStatus CheckJoint(IStressModuleJoint^ SMJointHandler, [System::Runtime::InteropServices::Out] System::String^% reportFileName, [System::Runtime::InteropServices::Out] System::String^% shortReportFileName); - new parameter SMJointHandler- the IStressModuleJoint for the joint- can be set to null if the default IStressModuleJoint from Advance Steel is suitable
  • Autodesk.AdvanceSteel.ConstructionTypes.ConstructionElement
    • new property:
      • property System::String^ JointTransferID{ System::String^ get(); void set(System::String^);} - set/get the joint transfer id so that all the properties of the joint-created elements could be preserved in the import/export context.
  • Autodesk.AdvanceSteel.Geometry.CompositeCurve3d
    • new methods:
      • bool GetIsFinite() - return true if the composite curve is finite
  • Autodesk.AdvanceSteel.Geometry.Curve2d
    • new methods:
      • bool HasEndParam([Out] double% dParam)
      • bool HasStartParam([Out] double% dParam)
      • Curve2d^ Copy()
  • Autodesk.AdvanceSteel.Geometry.Curve3d
    • new methods:
      • bool HasEndParam([Out] double% dParam);
      • bool HasStartParam([Out] double% dParam);
      • Curve3d^ Copy();
      • Curve3d^ GetInfiniteCurve();
    • modified methods:
      • Vector3d^ GetNormalAtPoint(Point3d^ ptRef, Vector3d^ vNormalRef, Point3d^ pt); -Gets the normal vector at a specific point, based on a reference point and a reference normal vector.
  • Autodesk.AdvanceSteel.ConstructionTypes.UserAutoConstructionObject
    • new methods:
      • void upgradeToPrimary() - transform's this into a primary connection - any modification done to a primary connection will be propagated to it's list of secondary connections as well
      • UserAutoConstructionObject^ getPrimaryJoint(); - returns the primary joint object that is controlling this
      • int registSecondaryJoint(AutoConstructionObject ^pObj) - registers another connection to be controlled by this
      • int unregistSecondaryJoint(AutoConstructionObject ^pObj) - if the input object is present into this's objects secondary connections list, then it removes it from the list
      • bool isSecondaryOrPartOfSecondaryJoint() - returns true if this object is a secondary connection or part of a secondary connection
      • bool isPrimaryOrPartOfPrimaryJoint() - returns true if this object a primary connection or part of a primary connection
      • PrimaryJointName - set/get - returns & sets the name of the primary connection. For secondary connections it set's/get's the name if the primary connection that controls them
  • new class Autodesk.AdvanceSteel.Services.EqualPartsParameters- this allows to control Equal Parts Detection settings from the API
  • new class Autodesk.AdvanceSteel.Services.EqualParts- ability to run and reset Equal Parts Detection
  • new class Autodesk.AdvanceSteel.DocumentManagement.ModelReport - running a Equal Parts Detection process from the API will return one of these to provide some feedback over what happened
  • Autodesk.AdvanceSteel.ConstructionTypes.IJoint
    • new method:
      • int GetInputObjectGroupId(ObjectId objId); - will return the groupId of an input element of the joint (if it is really an input element, otherwise will return -1)
  • Autodesk.AdvanceSteel.CADAccess.FilerObject
    • new method:
      • void removeXData(System::String^ xdataName);

AS .NET API modified classes

  • Autodesk.AdvanceSteel.Geometry.Ray2d
    • changed base class from Curve2d to Line2d
  • Autodesk.AdvanceSteel.Geometry.Ray3d
    • changed base class from Curve3d to Line3d
  • Autodesk.AdvanceSteel.Geometry.LineSeg2d
    • changed base class from Curve2d to Line2d
  • Autodesk.AdvanceSteel.Geometry.LineSeg3d
    • changed base class from Curve3d to Line3d

Was this information helpful?