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
- ⚠ XComponentRepositoryExtension::Flatten is renamed to XComponentRepositoryExtension::TryFlatten
- ⚠ Removed OptionBoxStyle_e and OptionBoxOptionsAttribute::Style
- ⚠ SelectType_e enumeration is removed. Use Type to specify the selection filter for the SelectionBoxOptionsAttribute::Filters or use SwSelectionBoxOptionsAttribute::Filters to specify SOLIDWORKS specific filters via swSelectionType_e. Use ContextMenuCommandItemInfoAttribute::Owner to set the Type of the owner entity or use SwContextMenuCommandItemInfoAttribute::Owner to set the SOLIDWORKS specific owner via swSelectionType_e
- ⚠ Point::Scale/Vector::Scale 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)
- ⚠ ISwMacroFeatureDefinition::ShouldHidePreviewEditBody, ISwMacroFeatureDefinition::AssignPreviewBodyColor replaced with the delegates of IXCustomFeatureDefinition`<TParams, TPage>`. CreatePreviewGeometry
- ⚠ ISwMacroFeatureDefinition::ConvertParamsToPage added additional parameter for current data
- ⚠ IXDocument3D::PreCreateBoundingBox, IXDocument3D::PreCreateMassProperty moved to IXDocumentEvaluation
- ⚠ IXFace::Edges is deprecated and replaced with IXFace::AdjacentEntities
- ⚠ HandlePostRebuildAttribute is deprecated and replaced with SwMacroFeatureDefinition::PostRebuild event
- ⚠ IParameterConverter::ConvertEditBodies, IParameterConverter::ConvertDisplayDimensions, IParameterConverter::ConvertParameters, IParameterConverter::ConvertSelections is replaced with IParameterConverter::Convert. ParameterConverter implementation is deprecated
- ⚠ ISwMacroFeature::CachedParameters is deprecated. use IXCustomFeature::Parameter without IXFeature::Edit to get cached parameters
- ⚠ IXCutList::State is renamed to IXCutList::Status and CutListState_e is renamed to CutListStatus_e
- ⚠ IXRegion::Boundary type is changed from IXSegment[] to IXLoop[]
- ⚠ IXServiceCollection::AddOrReplace is renamed to IXServiceCollection::Add
- ⚠ Introduced Line and Circle data structures which replaced the Axis, Diameter, StartPoint, EndPoint, CenterPoint properties in geometrical entities, such as IXCircle
- ⚠ Access modifier for SwAddInEx::OnConfigureServices and SwMacroFeatureDefinition::OnConfigureServices 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
- ⚠ - IXDocument::GetAllDependencies extension method is renamed to IXDocument::IterateDependencies and 3 optional parameters are added
- Fixed handling of virtual component in ISwDmDocument::Dependencies
0.7.5 - October 6, 2021
- ⚠ ISwMacroFeature::ToParameters is removed. Now SwObjectFactory::FromDispatch will create a specific instance from IFeature
- ⚠ ISwBodyExtension::ToTempBody is replace with IXBody::Copy
- ⚠ IXPlanarSheet::Boundary type is changed from IXSegment[] to IXRegion. Use IXGeometryBuilder::CreateRegionFromSegments to create region from array of segments
- ⚠ IXPlanarSheet::Boundary is renamed to IXPlanarSheet::Region
- ⚠ IXDrawingView::Document is renamed to IXDrawingView::ReferencedDocument
- ⚠ IXComponent::Document is renamed to IXComponent::ReferencedDocument
- ⚠ SwObjectFactory::FromDispatch is replaced with ISwDocument::CreateObjectFromDispatch 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
- ⚠ IXGeometryMemoryBuilder::PreCreateArc is renamed to IXGeometryMemoryBuilder::PreCreateCircle. IXGeometryMemoryBuilder::PreCreateArc has been redefined to create arc rather than circle
- ⚠ IXDocumentRepository::DocumentCreated is renamed to IXDocumentRepository::DocumentLoaded
- ⚠ IXDocument::Rebuild event is renamed to IXDocument::Rebuilt and IXDocument::Regenerate method is renamed to IXDocument::Rebuild
- ⚠ CommandSpec::TabBoxStyle is replaced with CommandSpec::RibbonTextStyle, CommandSpec::HasTabBox is replaced with CommandSpec::HasRibbon
- ⚠ IXDocument::Dependencies, IXConfiguration::CutLists, IXCutList::Bodies, IXFace::Edges 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
- ⚠ IXDocument3D::CalculateBoundingBox is replaced with IXDocument3D::PreCreateBoundingBox
- ⚠ ComponentState_e::Rapid is renamed to ComponentState_e::Lightweight
- 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
<IXObject>
.Equals - ⚠ IXCustomControl::DataContextChanged replaced with IXCustomControl::ValueChanged
- ⚠ IXCustomControl::DataContext replaced with IXCustomControl::Value
- ⚠ 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
- ⚠ IXComponent::IsResolved replaced with IXComponent::State
- ⚠ 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
- ⚠ IXDocument::Visible, IXDocument::ReadOnly, IXDocument::ViewOnly, IXDocument::Rapid, IXDocument::Silent are replaced with IXDocument::State
- ⚠ IXServiceConsumer::ConfigureServices renamed to IXServiceConsumer::OnConfigureServices
- 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.
- ⚠ IXModelViewBasedDrawingView::View is renamed to IXModelViewBasedDrawingView::SourceModelView
- ⚠ IXCircularEdge::Center, IXCircularEdge::Axis, IXCircularEdge::Radius are replaced with IXCircularEdge::Definition
- ⚠ IXLinearEdge::RootPoint, IXLinearEdge::Direction 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
- ⚠ IXDocument3D::ActiveView moved to IXDocument3D::Views::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
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