KiCad PCB EDA Suite
Loading...
Searching...
No Matches
STEP_PCB_MODEL Class Reference

#include <step_pcb_model.h>

Public Member Functions

 STEP_PCB_MODEL (const wxString &aPcbName, REPORTER *aReporter)
 
virtual ~STEP_PCB_MODEL ()
 
void SpecializeVariant (OUTPUT_FORMAT aVariant)
 
bool AddPadShape (const PAD *aPad, const VECTOR2D &aOrigin, bool aVia, SHAPE_POLY_SET *aClipPolygon=nullptr)
 
bool AddHole (const SHAPE_SEGMENT &aShape, int aPlatingThickness, PCB_LAYER_ID aLayerTop, PCB_LAYER_ID aLayerBot, bool aVia, const VECTOR2D &aOrigin, bool aCutCopper, bool aCutBody)
 
bool AddBarrel (const SHAPE_SEGMENT &aShape, PCB_LAYER_ID aLayerTop, PCB_LAYER_ID aLayerBot, bool aVia, const VECTOR2D &aOrigin, const wxString &aNetname)
 
bool AddBackdrill (const SHAPE_SEGMENT &aShape, PCB_LAYER_ID aLayerStart, PCB_LAYER_ID aLayerEnd, const VECTOR2D &aOrigin)
 Add a backdrill hole shape to remove board material and copper plating.
 
bool AddCounterbore (const VECTOR2I &aPosition, int aDiameter, int aDepth, bool aFrontSide, const VECTOR2D &aOrigin)
 Add a counterbore shape to remove board material from the top or bottom of a hole.
 
bool AddCountersink (const VECTOR2I &aPosition, int aDiameter, int aDepth, int aAngle, bool aFrontSide, const VECTOR2D &aOrigin)
 Add a countersink shape to remove board material from the top or bottom of a hole.
 
std::map< PCB_LAYER_ID, int > GetCopperLayerKnockouts (int aDiameter, int aDepth, int aAngle, bool aFrontSide)
 Get the knockout diameters for copper layers that a counterbore or countersink crosses.
 
bool AddPolygonShapes (const SHAPE_POLY_SET *aPolyShapes, PCB_LAYER_ID aLayer, const VECTOR2D &aOrigin, const wxString &aNetname)
 
bool AddComponent (const std::string &aFileName, const std::string &aRefDes, bool aBottom, const VECTOR2D &aPosition, double aRotation, const VECTOR3D &aOffset, const VECTOR3D &aOrientation, const VECTOR3D &aScale, bool aSubstituteModels=true)
 
void SetCopperColor (double r, double g, double b)
 
void SetPadColor (double r, double g, double b)
 
void SetEnabledLayers (const LSET &aLayers)
 
void SetFuseShapes (bool aValue)
 
void SetSimplifyShapes (bool aValue)
 
void SetStackup (const BOARD_STACKUP &aStackup)
 
void SetNetFilter (const wxString &aFilter)
 
void SetExtraPadThickness (bool aValue)
 
void OCCSetMergeMaxDistance (double aDistance=OCC_MAX_DISTANCE_TO_MERGE_POINTS)
 
bool CreatePCB (SHAPE_POLY_SET &aOutline, const VECTOR2D &aOrigin, bool aPushBoardBody)
 
bool MakeShapes (std::vector< TopoDS_Shape > &aShapes, const SHAPE_POLY_SET &aPolySet, bool aConvertToArcs, double aThickness, double aZposition, const VECTOR2D &aOrigin)
 Convert a SHAPE_POLY_SET to TopoDS_Shape's (polygonal vertical prisms, or flat faces)
 
bool MakeShapeAsThickSegment (TopoDS_Shape &aShape, const VECTOR2D &aStartPoint, const VECTOR2D &aEndPoint, double aWidth, double aThickness, double aZposition, const VECTOR2D &aOrigin)
 Make a segment shape based on start and end point.
 
bool MakePolygonAsWall (TopoDS_Shape &aShape, SHAPE_POLY_SET &aPolySet, double aHeight, double aZposition, const VECTOR2D &aOrigin)
 Make a polygonal shape to create a vertical wall.
 
bool WriteSTEP (const wxString &aFileName, bool aOptimize, bool compress)
 
bool WriteBREP (const wxString &aFileName)
 
bool WriteXAO (const wxString &aFileName)
 
bool WriteGLTF (const wxString &aFileName)
 Write the assembly in binary GLTF Format.
 
bool WritePLY (const wxString &aFileName)
 
bool WriteSTL (const wxString &aFileName)
 
bool WriteU3D (const wxString &aFileName)
 
bool WritePDF (const wxString &aFileName)
 

Private Member Functions

bool isBoardOutlineValid ()
 
void getLayerZPlacement (PCB_LAYER_ID aLayer, double &aZPos, double &aThickness)
 
void getCopperLayerZPlacement (PCB_LAYER_ID aLayer, double &aZPos, double &aThickness)
 
void getBoardBodyZPlacement (double &aZPos, double &aThickness)
 
bool getModelLabel (const std::string &aFileNameUTF8, const VECTOR3D &aScale, TDF_Label &aLabel, bool aSubstituteModels, wxString *aErrorMessage=nullptr)
 Load a 3D model data.
 
bool getModelLocation (bool aBottom, const VECTOR2D &aPosition, double aRotation, const VECTOR3D &aOffset, const VECTOR3D &aOrientation, TopLoc_Location &aLocation)
 
bool readIGES (Handle(TDocStd_Document) &aDoc, const char *aFname)
 
bool readSTEP (Handle(TDocStd_Document) &aDoc, const char *aFname)
 
bool readVRML (Handle(TDocStd_Document) &aDoc, const char *aFname)
 
bool performMeshing (Handle(XCAFDoc_ShapeTool) &aShapeTool)
 
TDF_Label transferModel (Handle(TDocStd_Document)&source, Handle(TDocStd_Document) &dest, const VECTOR3D &aScale)
 
bool CompressSTEP (wxString &inputFile, wxString &outputFile)
 
 Handle (XCAFApp_Application) m_app
 
 Handle (TDocStd_Document) m_doc
 
 Handle (XCAFDoc_ShapeTool) m_assy
 

Private Attributes

TDF_Label m_assy_label
 
bool m_hasPCB
 
bool m_simplifyShapes
 
bool m_fuseShapes
 
bool m_extraPadThickness
 
std::vector< TDF_Label > m_pcb_labels
 
MODEL_MAP m_models
 
int m_components
 
double m_precision
 
double m_angleprec
 
double m_copperColor [3]
 
double m_padColor [3]
 
BOARD_STACKUP m_stackup
 
LSET m_enabledLayers
 
wxString m_netFilter
 
double m_minx
 
double m_mergeOCCMaxDist
 
std::vector< TopoDS_Shape > m_copperCutouts
 
std::vector< TopoDS_Shape > m_boardCutouts
 
std::vector< TopoDS_Shape > m_board_outlines
 
std::map< wxString, std::vector< TopoDS_Shape > > m_board_copper
 
std::map< wxString, std::vector< TopoDS_Shape > > m_board_copper_pads
 
std::map< wxString, std::vector< TopoDS_Shape > > m_board_copper_vias
 
std::map< wxString, std::vector< TopoDS_Shape > > m_board_copper_fused
 
std::vector< TopoDS_Shape > m_board_front_silk
 
std::vector< TopoDS_Shape > m_board_back_silk
 
std::vector< TopoDS_Shape > m_board_front_mask
 
std::vector< TopoDS_Shape > m_board_back_mask
 
std::map< wxString, std::vector< std::pair< gp_Pnt, TopoDS_Shape > > > m_pad_points
 
wxString m_pcbName
 Name of the PCB, which will most likely be the file name of the path.
 
OUTPUT_FORMAT m_outFmt
 The current output format for created file.
 
REPORTERm_reporter
 

Detailed Description

Definition at line 92 of file step_pcb_model.h.

Constructor & Destructor Documentation

◆ STEP_PCB_MODEL()

◆ ~STEP_PCB_MODEL()

STEP_PCB_MODEL::~STEP_PCB_MODEL ( )
virtual

Definition at line 803 of file step_pcb_model.cpp.

Member Function Documentation

◆ AddBackdrill()

bool STEP_PCB_MODEL::AddBackdrill ( const SHAPE_SEGMENT & aShape,
PCB_LAYER_ID aLayerStart,
PCB_LAYER_ID aLayerEnd,
const VECTOR2D & aOrigin )

Add a backdrill hole shape to remove board material and copper plating.

A backdrill removes board material between the specified layers (inclusive), removes annular rings on copper layers within that span, and removes the copper barrel plating through those layers.

Parameters
aShapeThe hole shape (position and diameter of the backdrill)
aLayerStartThe starting copper layer (e.g., F_Cu for top backdrill)
aLayerEndThe ending copper layer (inclusive, the layer where backdrill stops)
aOriginThe origin offset for coordinate transformation
Returns
true if successfully added

Definition at line 1067 of file step_pcb_model.cpp.

References SEG::A, SEG::B, B_Cu, F_Cu, getLayerZPlacement(), SHAPE_SEGMENT::GetSeg(), SHAPE_SEGMENT::GetWidth(), m_boardCutouts, m_copperCutouts, MakeShapeAsThickSegment(), and top().

◆ AddBarrel()

bool STEP_PCB_MODEL::AddBarrel ( const SHAPE_SEGMENT & aShape,
PCB_LAYER_ID aLayerTop,
PCB_LAYER_ID aLayerBot,
bool aVia,
const VECTOR2D & aOrigin,
const wxString & aNetname )

◆ AddComponent()

bool STEP_PCB_MODEL::AddComponent ( const std::string & aFileName,
const std::string & aRefDes,
bool aBottom,
const VECTOR2D & aPosition,
double aRotation,
const VECTOR3D & aOffset,
const VECTOR3D & aOrientation,
const VECTOR3D & aScale,
bool aSubstituteModels = true )

◆ AddCounterbore()

bool STEP_PCB_MODEL::AddCounterbore ( const VECTOR2I & aPosition,
int aDiameter,
int aDepth,
bool aFrontSide,
const VECTOR2D & aOrigin )

Add a counterbore shape to remove board material from the top or bottom of a hole.

A counterbore creates a cylindrical recess from the specified side of the board, removing board material and copper down to the specified depth.

Parameters
aPositionThe center position of the counterbore
aDiameterThe diameter of the counterbore (in IU)
aDepthThe depth of the counterbore from the board surface (in IU)
aFrontSideTrue if counterbore is on the front (top) side, false for back (bottom)
aOriginThe origin offset for coordinate transformation
Returns
true if successfully added

Definition at line 1123 of file step_pcb_model.cpp.

References _, B_Cu, F_Cu, getBoardBodyZPlacement(), getLayerZPlacement(), m_boardCutouts, m_copperCutouts, m_reporter, pcbIUScale, RPT_SEVERITY_ERROR, traceKiCad2Step, VECTOR2< T >::x, and VECTOR2< T >::y.

◆ AddCountersink()

bool STEP_PCB_MODEL::AddCountersink ( const VECTOR2I & aPosition,
int aDiameter,
int aDepth,
int aAngle,
bool aFrontSide,
const VECTOR2D & aOrigin )

Add a countersink shape to remove board material from the top or bottom of a hole.

A countersink creates an inverted cone recess from the specified side of the board. The angle parameter specifies the total cone angle (the angle between opposite sides of the cone), so the angle between the board surface and the cone slope is half this value.

Parameters
aPositionThe center position of the countersink
aDiameterThe diameter of the countersink at the board surface (in IU)
aDepthThe depth of the countersink from the board surface (in IU)
aAngleThe total cone angle in decidegrees (e.g., 900 = 90°, 820 = 82°)
aFrontSideTrue if countersink is on the front (top) side, false for back (bottom)
aOriginThe origin offset for coordinate transformation
Returns
true if successfully added

Definition at line 1231 of file step_pcb_model.cpp.

References _, B_Cu, F_Cu, getBoardBodyZPlacement(), getLayerZPlacement(), m_boardCutouts, m_copperCutouts, M_PI, m_reporter, pcbIUScale, RPT_SEVERITY_ERROR, traceKiCad2Step, VECTOR2< T >::x, and VECTOR2< T >::y.

◆ AddHole()

bool STEP_PCB_MODEL::AddHole ( const SHAPE_SEGMENT & aShape,
int aPlatingThickness,
PCB_LAYER_ID aLayerTop,
PCB_LAYER_ID aLayerBot,
bool aVia,
const VECTOR2D & aOrigin,
bool aCutCopper,
bool aCutBody )

◆ AddPadShape()

◆ AddPolygonShapes()

◆ CompressSTEP()

bool STEP_PCB_MODEL::CompressSTEP ( wxString & inputFile,
wxString & outputFile )
private

Definition at line 2859 of file step_pcb_model.cpp.

References _, and m_reporter.

Referenced by WriteSTEP().

◆ CreatePCB()

◆ getBoardBodyZPlacement()

void STEP_PCB_MODEL::getBoardBodyZPlacement ( double & aZPos,
double & aThickness )
private

Definition at line 1618 of file step_pcb_model.cpp.

References B_Cu, F_Cu, getLayerZPlacement(), and top().

Referenced by AddCounterbore(), AddCountersink(), CreatePCB(), and getModelLocation().

◆ GetCopperLayerKnockouts()

std::map< PCB_LAYER_ID, int > STEP_PCB_MODEL::GetCopperLayerKnockouts ( int aDiameter,
int aDepth,
int aAngle,
bool aFrontSide )

Get the knockout diameters for copper layers that a counterbore or countersink crosses.

For a counterbore, the diameter is constant for all layers within the depth. For a countersink, the diameter varies based on the cone angle and the Z position of each layer.

Parameters
aDiameterThe diameter at the board surface (in IU)
aDepthThe depth of the feature from the board surface (in IU)
aAngleThe cone angle in decidegrees (0 for counterbore, >0 for countersink)
aFrontSideTrue if feature is on the front (top) side, false for back (bottom)
Returns
A map of PCB_LAYER_ID to knockout diameter (in IU) for each affected copper layer

Definition at line 1386 of file step_pcb_model.cpp.

References B_Cu, BS_ITEM_TYPE_COPPER, F_Cu, getLayerZPlacement(), M_PI, m_stackup, pcbIUScale, and traceKiCad2Step.

◆ getCopperLayerZPlacement()

◆ getLayerZPlacement()

void STEP_PCB_MODEL::getLayerZPlacement ( PCB_LAYER_ID aLayer,
double & aZPos,
double & aThickness )
private

◆ getModelLabel()

bool STEP_PCB_MODEL::getModelLabel ( const std::string & aFileNameUTF8,
const VECTOR3D & aScale,
TDF_Label & aLabel,
bool aSubstituteModels,
wxString * aErrorMessage = nullptr )
private

Load a 3D model data.

Parameters
aFileNameUTF8is the filename encoded UTF8 (different formats allowed) but for WRML files a model data can be loaded instead of the vrml data, not suitable in a step file.
aScaleis the X,Y,Z scaling factors.
aLabelis the TDF_Label to store the data.
aSubstituteModels= true to allows data substitution, false to disallow.
aErrorMessage(can be nullptr) is an error message to be displayed on error.
Returns
true if successfully loaded, false on error.

Definition at line 3215 of file step_pcb_model.cpp.

References _, fileType(), FMT_IGES, FMT_OUT_GLTF, FMT_OUT_PDF, FMT_OUT_PLY, FMT_OUT_STL, FMT_OUT_U3D, FMT_STEP, FMT_STEPZ, FMT_WRL, FMT_WRZ, getModelLabel(), Handle(), m_components, m_models, m_outFmt, m_reporter, prefixNames(), readIGES(), readSTEP(), readVRML(), RPT_SEVERITY_ERROR, TO_UTF8, transferModel(), VECTOR3< T >::x, VECTOR3< T >::y, and VECTOR3< T >::z.

Referenced by AddComponent(), and getModelLabel().

◆ getModelLocation()

bool STEP_PCB_MODEL::getModelLocation ( bool aBottom,
const VECTOR2D & aPosition,
double aRotation,
const VECTOR3D & aOffset,
const VECTOR3D & aOrientation,
TopLoc_Location & aLocation )
private

◆ Handle() [1/3]

STEP_PCB_MODEL::Handle ( TDocStd_Document )
private

◆ Handle() [2/3]

STEP_PCB_MODEL::Handle ( XCAFApp_Application )
private

◆ Handle() [3/3]

STEP_PCB_MODEL::Handle ( XCAFDoc_ShapeTool )
private

◆ isBoardOutlineValid()

bool STEP_PCB_MODEL::isBoardOutlineValid ( )
private
Returns
true if the board(s) outline is valid. False otherwise

Definition at line 1791 of file step_pcb_model.cpp.

References m_pcb_labels.

Referenced by CreatePCB(), WriteBREP(), WritePDF(), WritePLY(), WriteSTEP(), WriteSTL(), and WriteU3D().

◆ MakePolygonAsWall()

bool STEP_PCB_MODEL::MakePolygonAsWall ( TopoDS_Shape & aShape,
SHAPE_POLY_SET & aPolySet,
double aHeight,
double aZposition,
const VECTOR2D & aOrigin )

Make a polygonal shape to create a vertical wall.

It is a specialized version of MakeShape()

Parameters
aShapeis the TopoDS_Shape to initialize (must be empty)
aPolySetis the outline of the wall
aHeightis the height of the wall.
aZpositionis the Z postion of the wall
aOriginis the origin of the coordinates
Returns
true if success

Definition at line 1935 of file step_pcb_model.cpp.

References m_simplifyShapes, and MakeShapes().

Referenced by AddPadShape().

◆ MakeShapeAsThickSegment()

bool STEP_PCB_MODEL::MakeShapeAsThickSegment ( TopoDS_Shape & aShape,
const VECTOR2D & aStartPoint,
const VECTOR2D & aEndPoint,
double aWidth,
double aThickness,
double aZposition,
const VECTOR2D & aOrigin )

Make a segment shape based on start and end point.

If they're too close, make a cylinder. It is a specialized version of MakeShape()

Parameters
aShapeis the TopoDS_Shape to initialize (must be empty)
aStartPointis the start point of the segment
aEndPointis the end point of the segment
aWidthis the width of the segment
aThicknessis the height of the created segment, or 0.0: flat face pointing up, -0.0: down.
aOriginis the origin of the coordinates
Returns
true if success

Definition at line 1797 of file step_pcb_model.cpp.

References _, circle(), Handle(), m_mergeOCCMaxDist, m_reporter, pcbIUScale, RotatePoint(), RPT_SEVERITY_ERROR, VECTOR2< T >::x, and VECTOR2< T >::y.

Referenced by AddBackdrill(), AddBarrel(), AddHole(), and AddPadShape().

◆ MakeShapes()

bool STEP_PCB_MODEL::MakeShapes ( std::vector< TopoDS_Shape > & aShapes,
const SHAPE_POLY_SET & aPolySet,
bool aConvertToArcs,
double aThickness,
double aZposition,
const VECTOR2D & aOrigin )

Convert a SHAPE_POLY_SET to TopoDS_Shape's (polygonal vertical prisms, or flat faces)

Parameters
aShapesis the TopoDS_Shape list to append to
aPolySetis the polygon set
aConvertToArcsset to approximate with arcs
aThicknessis the height of the created prism, or 0.0: flat face pointing up, -0.0: down.
aOriginis the origin of the coordinates
Returns
true if success

Definition at line 2137 of file step_pcb_model.cpp.

References _, approximateLineChainWithArcs(), SHAPE_POLY_SET::CPolygon(), SHAPE_POLY_SET::CPolygons(), formatBBox(), m_mergeOCCMaxDist, m_reporter, makeWireFromChain(), pcbIUScale, SHAPE_POLY_SET::Polygon(), RPT_SEVERITY_DEBUG, RPT_SEVERITY_ERROR, RPT_SEVERITY_WARNING, SHAPE_POLY_SET::Simplify(), VECTOR2< T >::x, and VECTOR2< T >::y.

Referenced by AddPadShape(), AddPolygonShapes(), CreatePCB(), and MakePolygonAsWall().

◆ OCCSetMergeMaxDistance()

void STEP_PCB_MODEL::OCCSetMergeMaxDistance ( double aDistance = OCC_MAX_DISTANCE_TO_MERGE_POINTS)

Definition at line 1784 of file step_pcb_model.cpp.

References m_mergeOCCMaxDist.

◆ performMeshing()

bool STEP_PCB_MODEL::performMeshing ( Handle(XCAFDoc_ShapeTool) & aShapeTool)
private

Definition at line 3681 of file step_pcb_model.cpp.

References DEG2RAD(), m_reporter, and RPT_SEVERITY_DEBUG.

Referenced by WriteGLTF(), WritePDF(), WritePLY(), WriteSTL(), and WriteU3D().

◆ readIGES()

bool STEP_PCB_MODEL::readIGES ( Handle(TDocStd_Document) & aDoc,
const char * aFname )
private

Definition at line 3534 of file step_pcb_model.cpp.

References USER_PREC.

Referenced by getModelLabel().

◆ readSTEP()

bool STEP_PCB_MODEL::readSTEP ( Handle(TDocStd_Document) & aDoc,
const char * aFname )
private

Definition at line 3577 of file step_pcb_model.cpp.

References USER_PREC.

Referenced by getModelLabel().

◆ readVRML()

bool STEP_PCB_MODEL::readVRML ( Handle(TDocStd_Document) & aDoc,
const char * aFname )
private

Definition at line 3619 of file step_pcb_model.cpp.

Referenced by getModelLabel().

◆ SetCopperColor()

void STEP_PCB_MODEL::SetCopperColor ( double r,
double g,
double b )

Definition at line 1768 of file step_pcb_model.cpp.

References m_copperColor.

◆ SetEnabledLayers()

void STEP_PCB_MODEL::SetEnabledLayers ( const LSET & aLayers)

Definition at line 1732 of file step_pcb_model.cpp.

References m_enabledLayers.

◆ SetExtraPadThickness()

void STEP_PCB_MODEL::SetExtraPadThickness ( bool aValue)

Definition at line 1762 of file step_pcb_model.cpp.

References m_extraPadThickness.

◆ SetFuseShapes()

void STEP_PCB_MODEL::SetFuseShapes ( bool aValue)

Definition at line 1738 of file step_pcb_model.cpp.

References m_fuseShapes.

◆ SetNetFilter()

void STEP_PCB_MODEL::SetNetFilter ( const wxString & aFilter)

Definition at line 1756 of file step_pcb_model.cpp.

References m_netFilter.

◆ SetPadColor()

void STEP_PCB_MODEL::SetPadColor ( double r,
double g,
double b )

Definition at line 1776 of file step_pcb_model.cpp.

References m_padColor.

◆ SetSimplifyShapes()

void STEP_PCB_MODEL::SetSimplifyShapes ( bool aValue)

Definition at line 1744 of file step_pcb_model.cpp.

References m_simplifyShapes.

◆ SetStackup()

void STEP_PCB_MODEL::SetStackup ( const BOARD_STACKUP & aStackup)

Definition at line 1750 of file step_pcb_model.cpp.

References m_stackup.

◆ SpecializeVariant()

void STEP_PCB_MODEL::SpecializeVariant ( OUTPUT_FORMAT aVariant)
inline

Definition at line 99 of file step_pcb_model.h.

References m_outFmt.

◆ transferModel()

TDF_Label STEP_PCB_MODEL::transferModel ( Handle(TDocStd_Document)& source,
Handle(TDocStd_Document) & dest,
const VECTOR3D & aScale )
private

Definition at line 3638 of file step_pcb_model.cpp.

References Handle(), rescaleShapes(), VECTOR3< T >::x, VECTOR3< T >::y, and VECTOR3< T >::z.

Referenced by getModelLabel().

◆ WriteBREP()

bool STEP_PCB_MODEL::WriteBREP ( const wxString & aFileName)

◆ WriteGLTF()

bool STEP_PCB_MODEL::WriteGLTF ( const wxString & aFileName)

Write the assembly in binary GLTF Format.

We only support binary GLTF because GLTF is weird Officially, binary GLTF is actually json+binary in one file If we elected non-binary output with opecascade, it will generate that one file as two separate files, one containing json that references the binary Which is actually more annoying to deal with (to do the temp file rename, since we dont control the binary name) and silly when you can just have the one file.

Parameters
aFileNameOutput file path
Returns
true if the write succeeded without error

Definition at line 3709 of file step_pcb_model.cpp.

References _, KIPLATFORM::IO::DuplicatePermissions(), FMT_OUT_GLTF, GetISO8601CurrentDateTime(), GetSemanticVersion(), m_outFmt, m_reporter, performMeshing(), and RPT_SEVERITY_ERROR.

◆ WritePDF()

◆ WritePLY()

◆ WriteSTEP()

bool STEP_PCB_MODEL::WriteSTEP ( const wxString & aFileName,
bool aOptimize,
bool compress )

◆ WriteSTL()

bool STEP_PCB_MODEL::WriteSTL ( const wxString & aFileName)

◆ WriteU3D()

bool STEP_PCB_MODEL::WriteU3D ( const wxString & aFileName)

◆ WriteXAO()

bool STEP_PCB_MODEL::WriteXAO ( const wxString & aFileName)

Member Data Documentation

◆ m_angleprec

double STEP_PCB_MODEL::m_angleprec
private

Definition at line 342 of file step_pcb_model.h.

Referenced by STEP_PCB_MODEL().

◆ m_assy_label

TDF_Label STEP_PCB_MODEL::m_assy_label
private

Definition at line 333 of file step_pcb_model.h.

Referenced by AddComponent(), CreatePCB(), and STEP_PCB_MODEL().

◆ m_board_back_mask

std::vector<TopoDS_Shape> STEP_PCB_MODEL::m_board_back_mask
private

Definition at line 370 of file step_pcb_model.h.

Referenced by AddPolygonShapes(), and CreatePCB().

◆ m_board_back_silk

std::vector<TopoDS_Shape> STEP_PCB_MODEL::m_board_back_silk
private

Definition at line 368 of file step_pcb_model.h.

Referenced by AddPolygonShapes(), and CreatePCB().

◆ m_board_copper

std::map<wxString, std::vector<TopoDS_Shape> > STEP_PCB_MODEL::m_board_copper
private

Definition at line 361 of file step_pcb_model.h.

Referenced by AddPolygonShapes(), and CreatePCB().

◆ m_board_copper_fused

std::map<wxString, std::vector<TopoDS_Shape> > STEP_PCB_MODEL::m_board_copper_fused
private

Definition at line 364 of file step_pcb_model.h.

Referenced by CreatePCB().

◆ m_board_copper_pads

std::map<wxString, std::vector<TopoDS_Shape> > STEP_PCB_MODEL::m_board_copper_pads
private

Definition at line 362 of file step_pcb_model.h.

Referenced by AddBarrel(), AddPadShape(), and CreatePCB().

◆ m_board_copper_vias

std::map<wxString, std::vector<TopoDS_Shape> > STEP_PCB_MODEL::m_board_copper_vias
private

Definition at line 363 of file step_pcb_model.h.

Referenced by AddBarrel(), and CreatePCB().

◆ m_board_front_mask

std::vector<TopoDS_Shape> STEP_PCB_MODEL::m_board_front_mask
private

Definition at line 369 of file step_pcb_model.h.

Referenced by AddPolygonShapes(), and CreatePCB().

◆ m_board_front_silk

std::vector<TopoDS_Shape> STEP_PCB_MODEL::m_board_front_silk
private

Definition at line 367 of file step_pcb_model.h.

Referenced by AddPolygonShapes(), and CreatePCB().

◆ m_board_outlines

std::vector<TopoDS_Shape> STEP_PCB_MODEL::m_board_outlines
private

Definition at line 358 of file step_pcb_model.h.

Referenced by CreatePCB().

◆ m_boardCutouts

std::vector<TopoDS_Shape> STEP_PCB_MODEL::m_boardCutouts
private

Definition at line 355 of file step_pcb_model.h.

Referenced by AddBackdrill(), AddCounterbore(), AddCountersink(), AddHole(), and CreatePCB().

◆ m_components

int STEP_PCB_MODEL::m_components
private

Definition at line 340 of file step_pcb_model.h.

Referenced by getModelLabel(), and STEP_PCB_MODEL().

◆ m_copperColor

double STEP_PCB_MODEL::m_copperColor[3]
private

Definition at line 343 of file step_pcb_model.h.

Referenced by CreatePCB(), and SetCopperColor().

◆ m_copperCutouts

std::vector<TopoDS_Shape> STEP_PCB_MODEL::m_copperCutouts
private

Definition at line 354 of file step_pcb_model.h.

Referenced by AddBackdrill(), AddCounterbore(), AddCountersink(), AddHole(), and CreatePCB().

◆ m_enabledLayers

LSET STEP_PCB_MODEL::m_enabledLayers
private

Definition at line 346 of file step_pcb_model.h.

Referenced by AddPadShape(), AddPolygonShapes(), CreatePCB(), and SetEnabledLayers().

◆ m_extraPadThickness

bool STEP_PCB_MODEL::m_extraPadThickness
private

Definition at line 337 of file step_pcb_model.h.

Referenced by AddHole(), AddPadShape(), SetExtraPadThickness(), and STEP_PCB_MODEL().

◆ m_fuseShapes

bool STEP_PCB_MODEL::m_fuseShapes
private

Definition at line 336 of file step_pcb_model.h.

Referenced by AddPadShape(), CreatePCB(), SetFuseShapes(), and STEP_PCB_MODEL().

◆ m_hasPCB

bool STEP_PCB_MODEL::m_hasPCB
private

Definition at line 334 of file step_pcb_model.h.

Referenced by CreatePCB(), and STEP_PCB_MODEL().

◆ m_mergeOCCMaxDist

double STEP_PCB_MODEL::m_mergeOCCMaxDist
private

◆ m_minx

double STEP_PCB_MODEL::m_minx
private

Definition at line 349 of file step_pcb_model.h.

Referenced by STEP_PCB_MODEL().

◆ m_models

MODEL_MAP STEP_PCB_MODEL::m_models
private

Definition at line 339 of file step_pcb_model.h.

Referenced by getModelLabel().

◆ m_netFilter

wxString STEP_PCB_MODEL::m_netFilter
private

Definition at line 347 of file step_pcb_model.h.

Referenced by SetNetFilter().

◆ m_outFmt

OUTPUT_FORMAT STEP_PCB_MODEL::m_outFmt
private

The current output format for created file.

Definition at line 379 of file step_pcb_model.h.

Referenced by getModelLabel(), SpecializeVariant(), STEP_PCB_MODEL(), WriteBREP(), WriteGLTF(), WritePDF(), WritePLY(), WriteSTEP(), WriteSTL(), WriteU3D(), and WriteXAO().

◆ m_pad_points

std::map<wxString, std::vector<std::pair<gp_Pnt, TopoDS_Shape> > > STEP_PCB_MODEL::m_pad_points
private

Definition at line 373 of file step_pcb_model.h.

Referenced by AddPadShape(), and WriteXAO().

◆ m_padColor

double STEP_PCB_MODEL::m_padColor[3]
private

Definition at line 344 of file step_pcb_model.h.

Referenced by CreatePCB(), and SetPadColor().

◆ m_pcb_labels

std::vector<TDF_Label> STEP_PCB_MODEL::m_pcb_labels
private

Definition at line 338 of file step_pcb_model.h.

Referenced by CreatePCB(), and isBoardOutlineValid().

◆ m_pcbName

wxString STEP_PCB_MODEL::m_pcbName
private

Name of the PCB, which will most likely be the file name of the path.

Definition at line 376 of file step_pcb_model.h.

Referenced by CreatePCB(), and STEP_PCB_MODEL().

◆ m_precision

double STEP_PCB_MODEL::m_precision
private

Definition at line 341 of file step_pcb_model.h.

Referenced by STEP_PCB_MODEL().

◆ m_reporter

◆ m_simplifyShapes

bool STEP_PCB_MODEL::m_simplifyShapes
private

◆ m_stackup

BOARD_STACKUP STEP_PCB_MODEL::m_stackup
private

The documentation for this class was generated from the following files: