Advance Steel 2022 .NET and COM API Changes

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

.NET API Breaking Changes

Polyline3d
  • void GetApproxVertices(array<Point3d^>^ approxVertices); changed signature to void GetApproxVertices([Out] array<Point3d^>^% approxVertices), so it can be properly used.
Autodesk.AdvanceSteel.Services.KernelServices
  • static Services::BOMSummaryInfo^ RunBOMProcess ( DocumentManagement::OpenDatabase^ pDatabase, System::String^ modelFileName, array<ObjectId^>^ idsSelectedObjects, array<BOMTemplateInfo^>^ templates); changed signature to static Services::BOMSummaryInfo^ RunBOMProcess ( DocumentManagement::OpenDatabase^ pDatabase, array<ObjectId^>^ idsSelectedObjects, array<BOMTemplateInfo^>^ templates);.
Autodesk.AdvanceSteel.Modelling.HoleDefinition
  • Direction changed property type from int to Autodesk.AdvanceSteel.Contours.Hole.eSlottedHoleOrientation with values kXAxis, kYAxis.
Autodesk.AdvanceSteel.ConstructionTypes.MainAlias
  • ASID property removed from API.
Autodesk.AdvanceSteel.Utils.JSONUtils
  • Removed from API.

.NET API New Classes and Methods

  • Autodesk.AdvanceSteel.ConstructionHelper.Camera
    New methods:
    • void SetObjectsFilteredForDetailing( IEnumerable<ObjectId^>^ objIds) - sets the camera objects to be detailed. By default all the object in the camera boundaries would be detailed, by using this method the caller can set only specific objects to be detailed.

      Input: A collection of object Ids of entities from the current drawing's model space and paper space (not non-graphical objects or entities in other block definitions). The input collection may contain AS objects and AutoCAD objects.

    • bool GetObjectsFilteredForDetailing([Out] IEnumerable<ObjectId^>^% objIds) - get object Ids collection to be detailed (AS and AutoCAD entities. Does not include the driven AS objects). Returns true if output collection is not empty.
    • bool GetCADObjectsFilteredForDetailing([Out] IEnumerable<ObjectId^>^% objIds) - get only AutoCAD object Ids collection to be detailed . Returns true if output collection is not empty.
    • bool GetASAndDrivenObjectsFilteredForDetailing([Out] IEnumerable<ObjectId^>^% objIds) - get only AS object Ids collection to be detailed including driven AS objects. (Eg: If SetObjectsFilteredForDetailing was called with the Id of a Joint connection box then this method will get the Joint connection box Id and all joint driven objects Ids) . Returns true if output collection is not empty.
    • void MarkObjectsFilteredForDetailing() - marks the objects to be detailed.
    • void ResetObjectsFilteredForDetailing() - reset the objects to be detailed.
    • property bool DetailingFilterEnabled - true if the collection of objects to be detailed is used, false if the collection is ignored and all the objects in the camera boundaries are used.
  • Autodesk.AdvanceSteel.BuildingStructure.ModelViewObject

    New methods for model views with "Create Automatic drawings" flag true.

    • void SetObjectsFilteredForDetailing( IEnumerable<ObjectId^>^ objIds) - sets the objects to be detailed. By default all the object in the modelview boundaries would be detailed, by using this method the caller can set only specific objects to be detailed.

      Input: A collection of object Ids of entities from the current drawing's model space and paper space (not non-graphical objects or entities in other block definitions). The input collection may contain AS objects and AutoCAD objects.

    • bool GetObjectsFilteredForDetailing([Out] IEnumerable<ObjectId^>^% objIds) - get object Ids collection to be detailed (AS and AutoCAD entities. Does not include the driven AS objects). Returns true if output collection is not empty.
    • bool GetCADObjectsFilteredForDetailing([Out] IEnumerable<ObjectId^>^% objIds) - get only AutoCAD object Ids collection to be detailed . Returns true if output collection is not empty.
    • bool GetASAndDrivenObjectsFilteredForDetailing([Out] IEnumerable<ObjectId^>^% objIds) - get only AS object Ids collection to be detailed including driven AS objects. (Eg: If SetObjectsFilteredForDetailing was called with the Id of a Joint connection box then this method will get the Joint connection box Id and all joint driven objects Ids) . Returns true if output collection is not empty.
    • void MarkObjectsFilteredForDetailing() - marks the objects to be detailed.
    • void ResetObjectsFilteredForDetailing() - reset the objects to be detailed.
    • property bool DetailingFilterEnabled - true if the collection of objects to be detailed is used, false if the collection is ignored and all the objects in the modelview boundaries are used.
  • Autodesk.AdvanceSteel.CADAccess.DwgManager:
    New method:
    • bool IsCurrentDWGDerived(out strParentDwgId) - returns true if the current .dwg file is a derived .dwg (detail drawing) and false otherwise. The id of the parent .dwg (model drawing) is returned in the strParentDwgId, in case the result of this call is true.
  • Autodesk.AdvanceSteel.InteropServices.ASInteropServicesRoot - new abstract base class for ASInteropServices, accessible from DotNetRootsMgd.dll
    New methods:
    • static AstString ASString(String^ strToConvert) - converts from managed String to native AstString - moved here from ASInteropServices for accessibility purposes.
    • static String^ ManagedString(const AstString& strToConvert) - converts from native AstString to managed string - moved here from ASInteropServices for accessibility purposes.