Plant 3D – Adding Custom Components – Part 2 – Breaking down the code.

This is the second blog in a series for customised plant components,

In this blog we will look at a high level view of the components in building the Python script,

These are stored in the following location:

C:\AutoCAD Plant 3D 20## Content\CPak Common\CustomScripts\

If this is the first script, the CustomScripts folder will need to be added.

 

Let’s Take a look at the example script below.

 

 

 

 

 

 

 

 

 

 

 

 

 

This can be broken up into 3 sections,

 

The Import:

These brings in segments of code and functions so we don’t have to redefine it.

aqa.math for us to do any mathematical functions,

varmain.primitiv allows us to work with AutoCAD primative shapes,

 

from aqa.math import *

from varmain.primitiv import *

from varmain.custom import *

 

The Metadata:

Defining our parameters,

This normally starts with the @activate,

@group(“MainDimensions”) allows us to define the parameters with the @param

The parameters being,

what references to what and the tool tip information when in the spec editor.

these bind our code to the so we can recall it later.

 

@activate(Group=“Flange”,

                    TooltipShort=“SO Flange”,

                    TooltipLong=“Slip On Flange”,

                    FirstPortEndtypes=“FL”,

                   LengthUnit=“mm”,

                   Ports=“2”)

@group(“MainDimensions”)

@param(D=LENGTH, TooltipShort=“Outer Diameter of the Flange”)

@param(D1=LENGTH, TooltipShort=“Pipe Diameter of the Flange”)

@param(T=LENGTH, TooltipLong=“Thickness of the Flange”)

@param(OF=LENGTH, TooltipLong=“Weld thickness offset”)

 

The Shape File:

These will help define what Primitives are used, displacement and rotation, how the bodies interact and initial sizing.

def SO_Flange (s, D=210.0, D1=114.3, T=10, OF=-1, **kw):

          F=CYLINDER(s, R=D/2, H=T, O=D1/2).rotateY(90)

 

Now that we have broken down the script into its 3 parts,

The next blog will look at how our code parts come together,

 

Was this helpful?

Thanks for your feedback!

About the Author

SHARE

About the Author

SHARE
Privacy Overview

This website uses cookies so that we can provide you with the best user experience possible. Cookie information is stored in your browser and performs functions such as recognising you when you return to our website and helping our team to understand which sections of the website you find most interesting and useful.