This topic provides you with quick access to the enhancements in SOLIDWORKS API 2017.
Service Pack 5
End of Life Announcement
SOLIDWORKS Workgroup PDM Product
SOLIDWORKS API 2018 and later will not include the SOLIDWORKS Workgroup PDM API. It is replaced by SOLIDWORKS PDM Professional API.
Service Pack 4
New method
Obsoleted method
Back to top
Service Pack 2
New method
IComponent2 Interface
Back to top
Service Pack 0
New and changed functionality
- IModelDocExtension::SelectByRay is now recorded instead of IModelDocExtension::SelectByID2 by the macro recorder when the selection relies on selection coordinates and the selection could fail if the model view is altered and the macro is rerun.
- Header files for general helper functions and sample models for use with the SOLIDWORKS API now reside in the default system public folder path. This path is typically C:\Users\Public\Documents\SOLIDWORKS\SOLIDWORKS 2017. Elsewhere in the Help, this path is referred to as public_documents.
- Header files for general helper functions: public_documents\appcomm
- Sample models: Various folders in public_documents\tutorial
Major enhancements are:
- Support for selection sets. See IFeatureManager::GetSelectionSetFolder, IModelDocExtension::SaveSelection, ISelectionSet, ISelectionSetFolder, and ISelectionSetItem.
- Traverse the Manager Pane and activate the FeatureManager design tree, PropertyManager, ConfigurationManager, DimXpertManager, DisplayManager, or custom tab. Also, fire a pre-notification and notification when activating a tab in the Manager Pane. See:
- Support selective sectioning and transparent sectioning of section views. See ISectionViewData::ExcludeSelectedItems, ISectionViewData::SelectiveSection, ISectionViewData::SelectiveSectioningList, ISectionViewData::SectionedZones, ISectionViewData::SectionTransparentItemsTransparent, ISectionViewData::TransparencyList, ISectionViewData::TransparencyValue, ISectionViewData::TransparentSection, and ISectionViewData::ZonalSection.
- Create wrap features on multiple faces. See IFeatureManager::InsertWrapFeature2.
- Control a radial dimension leader on a radial display dimension. See IDisplayDimension::ArcExtensionLineOrOppositeSide.
- Get whether an axis is a temporary axis and get its reference face. See IRefAxis::IsTempAxis and IRefAxis::GetTempAxisReferenceFace.
- Set the properties of a selected component in a specific configuration, including whether the component is an envelope. See IAssemblyDoc::CompConfigProperties5.
- Get the parameterization data of a specific spline in a sketch. See ISketch::GetSplineParams5.
- Get or set the state of a check box on a PropertyManager page. See IPropertyManagerPageCheckbox::State.
- Support for creating sweep features using a circular profile or tool body. See IFeatureManager::InsertCutSwept5, IFeatureManager::InsertProtrusionSwept4, IFeatureManager::InsertSweepSurface3, ISweepFeatureData::CircularProfle, ISweepFeatureData::CircularProfileDiameter, and ISweepFeatureData::Profile.
- Support for bidirectional sweeps. See ISweepFeatureData::Direction.
- Import tables from and export tables to Microsoft Excel files for variable patterns. See IDimPatternFeatureData::ExportToExcel and IDimPatternFeatureData::ImportFromExcel.
- Modify variable patterns. See IDimPatternFeatureData::AddDimension, IDimPatternFeatureData::AddInstanceAt, IDimPatternFeatureData::DeleteDimension, IDimPatternFeatureData::DeleteInstanceAt, and IDimPatternFeatureData::PropagateVisualProperties.
- Get or set the width or height at which to lock a column or row in a table annotation. See ITableAnnotation::GetLockColumnWidth, ITableAnnotation::GetLockRowHeight, ITableAnnotation::SetLockColumnWidth, and ITableAnnotation::SetLockRowHeight.
- Offset selected edges to create a 3D sketch on a face or surface. See IModelDocExtension::SketchOffsetOnSurface.
- Zoom a drawing sheet to its maximum size within a window. See IModelDocExtension::ViewZoomtoSheet.
- Make a selected component independent. See IAssemblyDoc::MakeIndependent.
- Replace components either by letting SOLIDWORKS attempt to match the configuration of the old components with a configuration in the replacement component or by using the specified configuration in the replacement component. See IAssemblyDoc::ReplaceComponents2.
- Isolate components. See IAssemblyDoc::ExitIsolate, IAssemblyDoc::Isolate, IAssemblyDoc::SaveIsolate, and IAssemblyDoc::SetIsolateVisibility.
- Get or set the routing component grouping options for a BOM table in a drawing of an assembly containing routing components. See IBomFeature::RoutingComponentGrouping.
- Get the names of the exploded views for a specific configuration, get the number of exploded views in a specific configuration, and get the name of the configuration for a specific exploded view in an assembly. See IAssemblyDoc::GetExplodedViewNames2, IAssemblyDoc::GetExplodedViewCount2, and IAssemblyDoc::GetExplodedViewConfigurationName.
- Get the name of the exploded view currently shown in the model. See IModelDocExtension::IsExploded.
- Get the collapsed or exploded transform of a component when the assembly is exploded. See IComponent2::GetSpecificTransform.
- Expand the specified component in the specified FeatureManager design tree pane. See IFeatureManager::ExpandFeature.
- Delete either the selected components of a subassembly or the subassembly of the selected component. See IAssemblyDoc::DeleteSelections.
- Get or set the display state of a drawing view. See IView::DisplayState.
- Group selected edges or sketch segments into one object for the path for a sweep feature and group selected edges, sketch segments, or curves into one object for the guide curves for a loft feature. See IModelDocExtension::SelectByID2.
- Get the persistent reference ID of the configuration referenced in a drawing view. See IView::ReferencedConfigurationID.
- Get or set whether to display the description of a configuration in a bill of materials. See IConfiguration::UseDescriptionInBOM.
- Get or set whether to enable cell drop-down lists in design tables. See IDesignTable::EnableCellDropdownLists.
- Get or set the vertical justification of a standard note. See INote::GetTextVerticalJustification and INote::SetTextVerticalJustification.
- Get or set the length of a bent leader. See IAnnotation::BentLeaderLength.
- Get or set whether to propagate visual properties in a table-driven pattern. See IFeatureManager::InsertTableDrivenPattern2.
- Support synchronizing flexible subassemblies when creating a linear or circular pattern of components in an assembly. Also, create symmetric or asymmetric bidirectional circular patterns in a part from the seed geometry. See IFeatureManager::FeatureLinearPattern5, IFeatureManager::FeatureCircularPattern5, ICircularPatternFeatureData::Direction2, ICircularPatternFeatureData::EqualSpacing2, ICircularPatternFeatureData::Spacing2, ICircularPatternFeatureData::Symmetric, and ICircularPatternFeatureData::TotalInstances2.
- Get or set whether to disable an equation and get the number of disabled equations in a model. See IEquationMgr::Disabled and IEquationMgr::GetDisabledEquationCount.
- Support:
- specifying a sketch plane, surface/face/plane, vertex, or offset as a start condition when creating an extruded surface. See IFeatureManager::FeatureExtruRefSurface3.
- drafting angles, capping ends, deleting original faces, and knitting the bodies created by deleting original faces in extruded surfaces. See the ISurfExtrudeFeatureData section in this Help topic.
- Specify multiple drawing sheets whose setups to modify. See IDrawingDoc::SetSheetsSelected.
- Update SOLIDWORKS Toolbox components in the specified assembly level using the current information in Toolbox settings. See IAssemblyDoc::UpdateToolboxComponent.
- Create SpeedPak configurations for subassemblies in an assembly. See:
- Rebuild all features or rebuild only those features that need to be rebuilt in all configurations without activating each configuration in a model. See IModelDocExtension::EditRebuildAll and IModelDocExtension::ForceRebuildAll.
- Create a derived pattern feature, get or set which pattern instance to use as the seed feature for a derived pattern feature, and get or set whether to propagate visual properties in a derived pattern feature. See IFeatureManager::InsertDerivedPattern2, IDerivedPatternFeatureData::SeedPosition, and IDerivedPatternFeatureData::PropagateVisualProperty.
- Get the DimXpert name for an annotation. See IAnnotation::GetDimXpertName.
- Fire a notification when publishing an assembly or part document to SOLIDWORKS MBD 3D PDF. See DAssemblyDocEvents PublishTo3DPDFNotifyEventHandler and DPartDocEvents PublishTo3DPDFNotifyEventHandler.
- Scale a hatch pattern to a drawing view or section view. See IView::ScaleHatchPattern and IDrSection::ScaleHatchPattern.
- Get or set the projected tolerance zone for the specified frame and tolerance in a GTol. See IGtol::GetPTZHeight2 and IGtol::SetPTZHeight2.
- Get the diameter of the circle for the arrow of a base ordinate dimension and set the diameter of the circle for the arrow of a base ordinate dimension if the standard for base ordinate dimensions is set to DIN. See IDisplayDimension::GetOrdinateDimensionArrowSize and IDisplayDimension::SetOrdinateDimensionArrowSize.
- Export SOLIDWORKS MBD parts and assemblies to STEP 242 files. See IModelDocExtension::PublishSTEP242File.
- When publishing to SOLIDWORKS MBD 3D PDF, get or set the level of accuracy for lossy compression, get or set whether to apply lossy compression to polygons in a model, get or set the fully qualified paths of the files to include as attachments, and get or set whether to export SOLIDWORKS parts and assemblies to STEP 242 format and attach the STEP 242 file to the SOLIDWORKS MBD 3D PDF. See IMBD3DPdfData::Accuracy, IMBD3DPdfData::CompressLossyTessellation, IMBD3DPdfData::GetAttachments, IMBD3DPdfData::SetAttachments, and IMBD3DPdfData::CreateAttachSTEP242.
- Support jagged cut breaks in drawing views. See IView::InsertBreak2 and IBreakLine::ShapeIntensity.
- Get or set whether the outlines of section views are emphasized. See IView::EmphasizeOutline.
- Get or set whether a configuration in an assembly is marked as Large Design Review. See IConfiguration::LargeDesignReviewMark.
- Get the small, medium, and large image sizes suitable for the current DPI setting of the display device and get the default image size for the current DPI setting of the display device for images that are not based on the SOLIDWORKS icon size setting. See ISldWorks::GetImageSize.
- Support for scalable images in the Task Pane view. See ISldWorks::CreateTaskpaneView3.
- Get or set whether to mirror views. See IView::GetMirrorViewOrientation and IView::SetMirrorViewOrientation.
- Support jagged outlines and no outlines in detail views in drawings. See IDrawingDoc::CreateDetailViewAt4, IDetailCircle::.JaggedOutline, IDetailCircle::NoOutline, and IDetailCircle::ShapeIntensity.
- Compare DimXpert annotations, reference dimensions, and other annotations between different versions of the same part document. See IModelDocExtension::Compare3DPMI.
- Support optimized normal cut extrudes in sheet metal parts. See IFeatureManager::FeatureCut4, IExtrudeFeatureData2::NormalCut, and IExtrudeFeatureData2::OptimizeGeometry.
- Get or set the active display state of a component. See IComponent2::ReferencedDisplayState2.
- Get or set whether to override the bend parameters, bend allowance, or auto relief default parameters in a sheet metal feature in a multibody sheet metal part. See ISheetMetalFeatureData::GetOverrideDefaultParameter2 and ISheetMetalFeatureData::SetOverrideDefaultParameter2.
- Get or set whether to group or ungroup the same components in the same configuration in an assembly into a folder in the FeatureManager design tree. See IFeatureManager::GroupComponentInstances and IAssemblyDoc::UngroupComponents.
- Specify the order in which to list configurations in the ConfigurationManager. See IConfigurationManager::SortConfigurationTree.
- Get whether a geometric tolerance symbol is bound. See IEnvironment::GetIsBound.
- Get or set whether to hide cutting line shoulders in a section view. See IDrSection::CuttingLineShoulders.
- Specify whether to use no outline or a jagged outline when cropping a drawing view. Get or set whether a cropped drawing view has no outline or a jagged outline. See IView::Crop2, IView::CropViewJaggedOutline, IView::CropViewJaggedShapeIntensity, and IView::CropViewNoOutline.
Back to top
New interfaces
Back to top
New methods, properties, and delegates
IAnnotation Interface
IAssemblyDoc Interface
IBomFeature Interface
IBreakLine Interface
ICircularPatternFeatureData Interface
IComponent2 Interface
IConfiguration Interface
IConfigurationManager Interface
IDerivedPatternFeatureData Interface
IDesignTable Interface
IDetailCircle Interface
IDimPatternFeatureData Interface
IDisplayDimension Interface
IDrawingDoc Interface
IDrSection Interface
IEnvironment Interface
IEquationMgr Interface
IExtrudeFeatureData2 Interface
IFeatureManager Interface
IGtol Interface
IMBD3DPdfData Interface
IModelDocExtension Interface
IModelViewManager Interface
INote Interface
IPartDoc Interface
IPropertyManagerPageCheckbox Interface
IRefAxis Interface
ISectionViewData Interface
ISheetMetalFeatureData Interface
ISketch Interface
ISldWorks Interface
ISurfExtrudeFeatureData Interface
ISweepFeatureData Interface
ITableAnnotation Interface
IView Interface
Back to top
Obsoleted methods, properties, and delegates
IAssemblyDoc Interface
IComponent2 Interface
IDrawingDoc Interface
IFeatureManager Interface
IGtol Interface
IModelDoc2 Interface
IPartDoc Interface
ISheetMetalFeatureData Interface
ISketch Interface
ISldWorks Interface
IView Interface
Back to top