KiCad PCB EDA Suite
Loading...
Searching...
No Matches
step_pcb_model.h File Reference
#include <list>
#include <map>
#include <string>
#include <utility>
#include <vector>
#include <Standard_Handle.hxx>
#include <TDF_Label.hxx>
#include <TopoDS_Shape.hxx>
#include <math/vector2d.h>
#include <math/vector3.h>
#include <geometry/shape_poly_set.h>
#include <board_stackup_manager/board_stackup.h>

Go to the source code of this file.

Classes

class  STEP_PCB_MODEL
 

Typedefs

typedef std::pair< std::string, TDF_Label > MODEL_DATUM
 
typedef std::map< std::string, TDF_Label > MODEL_MAP
 

Enumerations

enum class  OUTPUT_FORMAT {
  FMT_OUT_UNKNOWN = 0 , FMT_OUT_STEP , FMT_OUT_IGES , FMT_OUT_BREP ,
  FMT_OUT_XAO , FMT_OUT_GLTF , FMT_OUT_PLY , FMT_OUT_STL
}
 

Functions

void ReportMessage (const wxString &aMessage)
 

Variables

static constexpr double OCC_MAX_DISTANCE_TO_MERGE_POINTS = 0.001
 Default distance between points to treat them as separate ones (mm) 0.001 mm or less is a reasonable value.
 
static constexpr double BOARD_THICKNESS_DEFAULT_MM = 1.6
 
static constexpr double BOARD_THICKNESS_MIN_MM = 0.01
 
static constexpr double COPPER_THICKNESS_DEFAULT_MM = 0.035
 
static constexpr double ARC_TO_SEGMENT_MAX_ERROR_MM = 0.005
 

Typedef Documentation

◆ MODEL_DATUM

typedef std::pair< std::string, TDF_Label > MODEL_DATUM

Definition at line 73 of file step_pcb_model.h.

◆ MODEL_MAP

typedef std::map< std::string, TDF_Label > MODEL_MAP

Definition at line 74 of file step_pcb_model.h.

Enumeration Type Documentation

◆ OUTPUT_FORMAT

enum class OUTPUT_FORMAT
strong
Enumerator
FMT_OUT_UNKNOWN 
FMT_OUT_STEP 
FMT_OUT_IGES 
FMT_OUT_BREP 
FMT_OUT_XAO 
FMT_OUT_GLTF 
FMT_OUT_PLY 
FMT_OUT_STL 

Definition at line 78 of file step_pcb_model.h.

Function Documentation

◆ ReportMessage()

Variable Documentation

◆ ARC_TO_SEGMENT_MAX_ERROR_MM

constexpr double ARC_TO_SEGMENT_MAX_ERROR_MM = 0.005
staticconstexpr

Definition at line 65 of file step_pcb_model.h.

Referenced by STEP_PCB_MODEL::STEP_PCB_MODEL().

◆ BOARD_THICKNESS_DEFAULT_MM

constexpr double BOARD_THICKNESS_DEFAULT_MM = 1.6
staticconstexpr

Definition at line 54 of file step_pcb_model.h.

◆ BOARD_THICKNESS_MIN_MM

constexpr double BOARD_THICKNESS_MIN_MM = 0.01
staticconstexpr

Definition at line 58 of file step_pcb_model.h.

◆ COPPER_THICKNESS_DEFAULT_MM

constexpr double COPPER_THICKNESS_DEFAULT_MM = 0.035
staticconstexpr

Definition at line 62 of file step_pcb_model.h.

◆ OCC_MAX_DISTANCE_TO_MERGE_POINTS

constexpr double OCC_MAX_DISTANCE_TO_MERGE_POINTS = 0.001
staticconstexpr

Default distance between points to treat them as separate ones (mm) 0.001 mm or less is a reasonable value.

A too large value creates issues by merging points that should be different. Remember we are a 3D space, so a thin shape can be broken if 2 points are merged (in X, Y, Z coords) when they should not. round shapes converted to polygon can also be not good with a to large value

Definition at line 51 of file step_pcb_model.h.

Referenced by EXPORTER_STEP::buildBoard3DShapes(), and STEP_PCB_MODEL::STEP_PCB_MODEL().