Hide Table of Contents

Get Weldment Cut List Feature and Annotations Example (C#)

This example shows how to get a weldment cut list feature and weldment cut list annotations.

// Preconditions:
// 1. Open a Drawing document that has a weldment cut list table.
// 2. Open an Immediate window.
// Postconditions: Inspect the Immediate window.
using Microsoft.VisualBasic;
using System;
using System.Collections;
using System.Collections.Generic;
using System.Data;
using System.Diagnostics;
using SolidWorks.Interop.sldworks;
using SolidWorks.Interop.swconst;
using System.Runtime.InteropServices;
namespace GetWeldmentCutListFeature_CSharp.csproj
    partial class SolidWorksMacro
        ModelDoc2 swModel;
        Feature swFeature;
        WeldmentCutListFeature swWeldmentCutListFeat;
        object[] vWeldCutListAnnotations;
        object[] vCustProperties;
        int i;
        int j;
        public void Main()
            swModel = (ModelDoc2)swApp.ActiveDoc;
            // Traverse FeatureManager design tree
            // Get first feature in FeatureManager design tree
            swFeature = (Feature)swModel.FirstFeature();
            // If the type of feature is "WeldmentTableFeat"
            // then get the WeldmentCutListFeature object
            while ((swFeature != null))
                if (swFeature.GetTypeName() == "WeldmentTableFeat")
                    swWeldmentCutListFeat = (WeldmentCutListFeature)swFeature.GetSpecificFeature2();
                    Debug.Print("   Name of configuration:    " + swWeldmentCutListFeat.Configuration);
                    Debug.Print("   Keep missing items:       " + swWeldmentCutListFeat.KeepCurrentItemNumbers);
                    Debug.Print("   Strikeout missing items:  " + swWeldmentCutListFeat.StrikeoutMissingItems);
                    Debug.Print("   Starting sequence number: " + swWeldmentCutListFeat.SequenceStartNumber);
                    // Get the weldment cut list annotations
                    vWeldCutListAnnotations = (object[])swWeldmentCutListFeat.GetTableAnnotations();
                    for (i = vWeldCutListAnnotations.GetLowerBound(0); i <= vWeldCutListAnnotations.GetUpperBound(0); i++)
                        // Print the number custom properties and then the custom properties
                        Debug.Print("   Number of custom properties: " + ((WeldmentCutListAnnotation)vWeldCutListAnnotations[i]).GetAllCustomPropertiesCount());
                        vCustProperties = (object[])((WeldmentCutListAnnotation)vWeldCutListAnnotations[i]).GetAllCustomProperties();
                        for (j = vCustProperties.GetLowerBound(0); j <= vCustProperties.GetUpperBound(0); j++)
                            Debug.Print("        Custom property: " + vCustProperties[j]);
                // Get the next feature in the FeatureManager design tree
                swFeature = (Feature)swFeature.GetNextFeature();
        public SldWorks swApp;

Provide feedback on this topic

SOLIDWORKS welcomes your feedback concerning the presentation, accuracy, and thoroughness of the documentation. Use the form below to send your comments and suggestions about this topic directly to our documentation team. The documentation team cannot answer technical support questions. Click here for information about technical support.

* Required

Subject:   Feedback on Help Topics
Page:   Get Weldment Cut List Feature and Annotations Example (C#)
*   I acknowledge I have read and I hereby accept the privacy policy under which my Personal Data will be used by Dassault Systèmes

Print Topic

Select the scope of content to print:


We have detected you are using a browser version older than Internet Explorer 7. For optimized display, we suggest upgrading your browser to Internet Explorer 7 or newer.

 Never show this message again

Web Help Content Version: API Help (English only) 2016 SP05

To disable Web help from within SOLIDWORKS and use local help instead, click Help > Use SOLIDWORKS Web Help.

To report problems encountered with the Web help interface and search, contact your local support representative. To provide feedback on individual help topics, use the “Feedback on this topic” link on the individual topic page.