List of changes in the releases of xCAD.NET framework
This page contains list of the most notable changes in the releases of xCAD.NET.
Breaking change is marked with ⚠ symbol
0.8.0 - January 30, 2024
- ⚠ XComponentRepositoryExtensionFlatten is renamed to XComponentRepositoryExtensionTryFlatten
- ⚠ Removed OptionBoxStyle_e and OptionBoxOptionsAttribute::Style
- ⚠ SelectType_e enumeration is removed. Use Type to specify the selection filter for the SelectionBoxOptionsAttributeFilters or use SwSelectionBoxOptionsAttributeFilters to specify SOLIDWORKS specific filters via swSelectionType_e. Use ContextMenuCommandItemInfoAttributeOwner to set the Type of the owner entity or use SwContextMenuCommandItemInfoAttributeOwner to set the SOLIDWORKS specific owner via swSelectionType_e
- ⚠ PointScale/VectorScale are not do not modify the values of the original object rather return new scaled result
- ⚠ IXCustomFeatureDefinition<TParams, TPage>::OnPageParametersChanged renamed to IXCustomFeatureDefinition<TParams, TPage>::OnPreviewUpdated
- ⚠ IXCustomFeatureDefinition<TParams, TPage>::CreateGeometry is split to IXCustomFeatureDefinition<TParams, TPage>.CreatePreviewGeometry.
- ⚠ ISwMacroFeatureDefinition::ShouldUpdatePreview changed the signature (added the pointer to TPage)
- ⚠ ISwMacroFeatureDefinitionShouldHidePreviewEditBody, ISwMacroFeatureDefinitionAssignPreviewBodyColor replaced with the delegates of IXCustomFeatureDefinition<TParams, TPage>. CreatePreviewGeometry
- ⚠ ISwMacroFeatureDefinition::ConvertParamsToPage added additional parameter for current data
- ⚠ IXDocument3DPreCreateBoundingBox, IXDocument3DPreCreateMassProperty moved to IXDocumentEvaluation
- ⚠ IXFaceEdges is deprecated and replaced with IXFaceAdjacentEntities
- ⚠ HandlePostRebuildAttribute is deprecated and replaced with SwMacroFeatureDefinition::PostRebuild event
- ⚠ IParameterConverterConvertEditBodies, IParameterConverterConvertDisplayDimensions, IParameterConverterConvertParameters, IParameterConverterConvertSelections is replaced with IParameterConverter::Convert. ParameterConverter implementation is deprecated
- ⚠ ISwMacroFeatureCachedParameters is deprecated. use IXCustomFeatureParameter without IXFeature::Edit to get cached parameters
- ⚠ IXCutListState is renamed to IXCutListStatus and CutListState_e is renamed to CutListStatus_e
- ⚠ IXRegion::Boundary type is changed from IXSegment[] to IXLoop[]
- ⚠ IXServiceCollectionAddOrReplace is renamed to IXServiceCollectionAdd
- ⚠ Introduced Line and Circle data structures which replaced the Axis, Diameter, StartPoint, EndPoint, CenterPoint properties in geometrical entities, such as IXCircle
- ⚠ Access modifier for SwAddInExOnConfigureServices and SwMacroFeatureDefinitionOnConfigureServices is changed to protected
- ⚠ IXDocument::SaveAs is changed to extension in Xarial.XCad.Documents.Extensions namespace
- ⚠ IXDocument pointers are no longer guaranteed to be equal for the same documents. Use IXDocument::Equals to compare pointers instead
0.7.7 - October 26, 2021
- ⚠ - IEntity is not automatically converted to safe entity. Instead use ISwEntity::CreateResilient to create safe entity
0.7.6 - October 13, 2021
- ⚠ - IXDocumentGetAllDependencies extension method is renamed to IXDocumentIterateDependencies and 3 optional parameters are added
- Fixed handling of virtual component in ISwDmDocument::Dependencies
0.7.5 - October 6, 2021
- ⚠ ISwMacroFeatureToParameters is removed. Now SwObjectFactoryFromDispatch will create a specific instance from IFeature
- ⚠ ISwBodyExtensionToTempBody is replace with IXBodyCopy
- ⚠ IXPlanarSheetBoundary type is changed from IXSegment[] to IXRegion. Use IXGeometryBuilderCreateRegionFromSegments to create region from array of segments
- ⚠ IXPlanarSheetBoundary is renamed to IXPlanarSheetRegion
- ⚠ IXDrawingViewDocument is renamed to IXDrawingViewReferencedDocument
- ⚠ IXComponentDocument is renamed to IXComponentReferencedDocument
- ⚠ SwObjectFactoryFromDispatch is replaced with ISwDocumentCreateObjectFromDispatch and ISwApplication::CreateObjectFromDispatch
- ⚠ Changed the signatures of SwMacroFeatureDefinition{TParams, TPage}::OnEditingCompleted, SwMacroFeatureDefinition{TParams, TPage}::OnFeatureInserted
- ⚠ Changed from protected to public: SwMacroFeatureDefinition{TParams, TPage}::OnEditingStarted, SwMacroFeatureDefinition{TParams,TPage}::CreatePageHandler, SwMacroFeatureDefinition{TParams,TPage}::OnEditingStarted, SwMacroFeatureDefinition{TParams,TPage}::OnEditingCompleted, SwMacroFeatureDefinition{TParams,TPage}::OnFeatureInserted, SwMacroFeatureDefinition{TParams,TPage}::CreateDynamicControls
- ⚠ IXGeometryMemoryBuilderPreCreateArc is renamed to IXGeometryMemoryBuilderPreCreateCircle. IXGeometryMemoryBuilder::PreCreateArc has been redefined to create arc rather than circle
- ⚠ IXDocumentRepositoryDocumentCreated is renamed to IXDocumentRepositoryDocumentLoaded
- ⚠ IXDocumentRebuild event is renamed to IXDocumentRebuilt and IXDocumentRegenerate method is renamed to IXDocumentRebuild
- ⚠ CommandSpecTabBoxStyle is replaced with CommandSpecRibbonTextStyle, CommandSpecHasTabBox is replaced with CommandSpecHasRibbon
- ⚠ IXDocumentDependencies, IXConfigurationCutLists, IXCutListBodies, IXFaceEdges changed from array to IEnumerable
- ⚠ IXDocument::Closing is passing the additional parameter if the document is closing or hiding
- ⚠ ComboBoxOptionsAttribute::SelectDefaultValue option is deprecated and removed
- ⚠ IXCustomControl::ValueChanged event delegate type is changed
0.7.4 - July 11, 2021
- Fixed the incorrect mass properties for SOLIDWORKS 2019 and older
- Fixed invalid principle moment of inertia and principle axis of inertia calculation for Part file
0.7.3 - July 2, 2021
- ⚠ IXDocument::DeserializeObject changed to use generic parameter to specify return type
- Fixed the IXDocumentRepository::Active error
- Fixed the issue with macro feature editor not using the converted parameters correctly if different from the page data
- Added suppressed icon for the macro feature
- Dispose objects in IXExtension safely one-by-one
- Add option to specify the order of controls in Property Page
- Add support for Mass properties
- ⚠ Add option to calculate bounding box relative to coordinate system
0.7.1 - June 8, 2021
- ⚠ IXDocument3DCalculateBoundingBox is replaced with IXDocument3DPreCreateBoundingBox
- ⚠ ComponentState_eRapid is renamed to ComponentState_eLightweight
- Implemented Add option to calculate bounding box relative to coordinate system
- Implemented Add support for Mass properties
0.7.0 - May 2, 2021
- ⚠ IXPropertyRepository::GetOrPreCreate moved to extension method
- ⚠ IXObject::IsSame replaced with IEquatable
.Equals - ⚠ IXCustomControlDataContextChanged replaced with IXCustomControlValueChanged
- ⚠ IXCustomControlDataContext replaced with IXCustomControlValue
- ⚠ ResourceHelper::FromBytes replaced with BaseImage class
- ⚠ CustomItemsAttribute is renamed to ComboBoxAttribute
- Implemented Implement xCAD for SOLIDWORKS Document Manager
- Implemented Add support for cut-list custom properties enhancement
- Implemented Add support for List control in the property page enhancement
- Implemented Add support for checkbox in group enhancement
- Implemented Add attribute to exclude the property from the macro feature binding enhancement
- Implemented Add ability to serialize and deserialize pointers for SW objects enhancement
- Implemented Add ability to add controls dynamically to property manager page enhancement
- Implemented Add options to specify items source based on the property for ComboBox control enhancement
- Implemented Add support for expressions for custom properties enhancement
- Implemented Add support for quantity for the configuration enhancement
- Fixed API returns named view from the sheet (when not inserted) bug
- Fixed Bitmap button displays incorrect size on first opening the page bug
- ⚠ Implemented Components should be returned from IXConfiguration not IXAssembly enhancement
- ⚠ Fixed Selection color is ignored in SelectionBoxOption attribute bug
0.6.10 - December 7, 2020
- ⚠ IXComponentIsResolved replaced with IXComponentState
- ⚠ ISwApplication::Version is changed from SwVersion_e to SwVersion class
- ⚠ SwApplicationFactory::GetInstalledVersions returns IEnumerable of ISwVersion instead of IEnumerable of SwVersion_e
- Implemented #55 - Add option to extract all dependencies from the document
- Implemented #56 - Add APIs to save document
- Implemented #57 - Add support for version on IXDocument and IXApplication enhancement
- Fixed #58 - Document events are not attached for pre-created templates
- Fixed #58 - Error when opening documents breaks IXDocumentRepository
0.6.9 - November 27, 2020
- ⚠ IXDocumentVisible, IXDocumentReadOnly, IXDocumentViewOnly, IXDocumentRapid, IXDocumentSilent are replaced with IXDocumentState
- ⚠ IXServiceConsumerConfigureServices renamed to IXServiceConsumerOnConfigureServices
- Implemented #46 - Add IXComponent::Path
- Fixed #47 - Custom controls added to Property Page are not loaded after page is closed
- Implemented #48 - Add support for progress bar in application
- Implemented #49 - Allow to specify template when creating new document
- Fixed #50 - Document management breaks if custom doc handler has an unhandled exception
- Fixed #51 - IXAssembly::Components empty for the LDR assembly
0.6.8 - November 10, 2020
- Added tags support for IXDocument to store custom user data within the session
- Added the IXPart::CutListRebuild event
0.6.7 - November 9, 2020
- ⚠ All SOLIDWORKS specific classes replaced with corresponding interfaces with I at the start (e.g. SwApplication -> ISwApplication, SwDocument -> ISwDocument)
- ⚠ IXDocumentRepository::Open is replaced with transaction (also available as extension method) and DocumentOpenArgs is retired.
- ⚠ IXModelViewBasedDrawingViewView is renamed to IXModelViewBasedDrawingViewSourceModelView
- ⚠ IXCircularEdgeCenter, IXCircularEdgeAxis, IXCircularEdgeRadius are replaced with IXCircularEdgeDefinition
- ⚠ IXLinearEdgeRootPoint, IXLinearEdgeDirection are replaced with IXLinearEdge::Definition
- ⚠ IXGeometryBuilder is changed and available via IXApplication::MemoryGeometryBuilder
- Added support for extrusion, sweep, revolve for memory IXGeometryBuilder
- Added partial support for surfaces and curves as definitions for edges and faces
- Added partial support for sketch entities in the sketch
0.6.6 - October 29, 2020
- Implemented #36 - Add ability to configure services for dependency injection
- Implemented #37 - Add options to add colors to faces, bodies and features
- Implemented #38 - Add support for drawing views
- Implemented #39 - Add ability to read feature tree from IXComponent
- Fixed #40 - SwAssembly.Components returns empty enumerable in add-in bug
- Fixed #41 - IXSelectionRepository::Add fails if other objects were preselected bug
- ⚠ IXProperty::Exists moved to an extension method instead of property
- ⚠ IXDocument3DActiveView moved to IXDocument3DViews::Active
- ⚠ IXDocumentCollection renamed to IXDocumentRepository
0.6.5 - October 14, 2020
- Implemented #33 - Add event when extension and host application is fully loaded
- Implemented #34 - Add WindowRectangle API to find the bounds of the host window
0.6.4 - September 30, 2020
- Implemented #30 - Add option to open document in rapid mode
- Fixed #31 - INotifyPropertyChanged is ignored
- Switched SOLIDWORKS Interops to version 2020
0.6.3 - September 30, 2020
- Added exceptions for the macro running and document opening
- ⚠ Changed SwApplication::Start to be sync
- Implemented #29 - IXDocumentRepository::Open should support all file types
0.6.2 - September 28, 2020
- Fixed #24 - Build error when cleaning the solution
- Implemented #25 - Add IXApplication::Process
0.6.1 - September 23, 2020
- Fixed #20 - BitmapButton bool not firing propertyManagerPage DataChanged Event
- Implemented #21 - Add IXApplication::WindowHandle
- Implemented #22 - Add SwApplication::GetInstalledVersion static method
0.6.0 - September 13, 2020
Implemented #5 - Updating Combobox based on another comboBox selection change. Refer help documentation for more information
Implemented #6 - Add Support to Bitmap Button
⚠ Moved Xarial.XCad.Utils.PageBuilder.Base.IDependencyHandler to Xarial.XCad.UI.PropertyPage.Services.IDependencyHandler
⚠ Added second parameter IControl[] dependencies to ICustomItemsProvider.ProvideItems
⚠ IDependencyHandler.UpdateState provides IControl instead of IBinding
0.5.8 - September 1, 2020
Added new events:
- IXConfigurationRepository.ConfigurationActivated
- IXDocument.Rebuild, IXDocument.Saving
- IXDocumentCollection.DocumentActivated
- IXSheetRepository.SheetActivated
Added new interfaces
- IXSheet
⚠ Added parameter of IXDocument to NewSelectionDelegate
Fixed the issue with toolbar positions not maintained after SOLIDWORKS restart
⚠ state parameter of CommandStateDelegate is no longer passed with ref keyword
0.5.7 - July 19, 2020
- Added support for TaskPane
- Added support for Feature Manager Tab
0.5.0 - June 15, 2020
- Added support for tabs and custom controls in property pages
- Added support for 3rd party storage and 3rd party stream
- Renamed to StandardIconAttribute to StandardControlIconAttribute
0.3.1 - February 9, 2020
- ⚠ Renamed ControlAttributionAttribute to StandardIconAttribute
0.2.4 - February 6, 2020
- Added ICustomItemsProvider to provide dynamic items for the ComboBox control in property pages
0.2.0 - February 6, 2020
- Added support for selections
- Added support for IXFace
0.1.0 - February 4, 2020
Initial Release