9b36d4c19d
- aggiunto parametro 'SingleLeadIn' per fare lead in solo sul primo layer.
403 lines
10 KiB
Lua
403 lines
10 KiB
Lua
-- AddManData.lua by Egaltech s.r.l. 2022/07/03
|
|
-- Raccolta costanti generali per Stampa 3d
|
|
|
|
-- Tabella per definizione modulo
|
|
local AddManData = {}
|
|
|
|
-- Intestazioni
|
|
require( 'EgtBase')
|
|
|
|
EgtOutLog( ' AddManData started', 1)
|
|
|
|
---------------------------------------------------------------------
|
|
SLICE_LAYER = 'Slice'
|
|
CONTOUR_GRP = 'Crv'
|
|
OUTER_CRV = 'OuterCrv'
|
|
PATH_GRP = 'Path'
|
|
SOLID_GRP = 'Solid'
|
|
TOOLPATH_GRP = 'ToolPath'
|
|
LAYER_SRF = 'LayerSurf'
|
|
SHELL_CRV = 'Shell'
|
|
EXTRA_SHELL_CRV = 'ExtraShell'
|
|
INFILL_CRV = 'Infill'
|
|
COASTING_CRV = 'Coasting'
|
|
WIPE_CRV = 'Wipe'
|
|
LEAD_IN_CRV = 'LeadIn'
|
|
LEAD_OUT_CRV = 'LeadOut'
|
|
LINK_CRV = 'Link'
|
|
FRAME_PART = 'FramePart'
|
|
START_GEOM = 'Start'
|
|
TOT_SHELL_TRIM_SURF = 'TotalShellSurfForTrim'
|
|
SHELL_SURF = 'ShellSurf'
|
|
COARSE_TRIM_SURF = 'CoarseTrimSurf'
|
|
TRIM_SURF_LOOP = 'TrimSurfLoop'
|
|
SURF_LOOP = 'SurfLoop'
|
|
LOOP_GRP = 'LoopGrp'
|
|
DIR_ARROW = 'Arrow'
|
|
|
|
MIN_LEN = 0.1
|
|
MIN_AREA = 0.01
|
|
MIN_RIBS_LEN = 2
|
|
MIN_INFILL_LEN = 2
|
|
|
|
-- Parametri di lavorazione
|
|
SEC_DEFAULT = 'Default'
|
|
KEY_PARAMS = 'Params'
|
|
KEY_CALC_SOLIDS = 'CalcSolids'
|
|
KEY_SPIRAL_VASE = 'SpiralVase'
|
|
KEY_SPIRAL_VASE_LEN = 'SpiralVaseLen'
|
|
KEY_SPIRAL_VASE_INTERP_LEN = 'SpiralVaseInterpLen'
|
|
KEY_SLICING_TYPE = 'SlicingType'
|
|
KEY_SLICE_STEP = 'StrandH'
|
|
KEY_SHELLS_NBR = 'StrandCount'
|
|
KEY_STRAND = 'StrandW'
|
|
KEY_INNER_STRAND = 'InnerStrandW'
|
|
KEY_STRAND_OVERLAP = 'StrandOverlap'
|
|
KEY_OFFSET_SLICE = 'Offset'
|
|
KEY_SP_OFFSET_ON_SLICE = 'StartPointOffsetOnSlice'
|
|
KEY_STRAND_ORDER = 'StrandOrder'
|
|
KEY_PRINT_ORDER = 'PrintOrder'
|
|
KEY_PRINT_DIRECTION = 'Direction'
|
|
KEY_TYPE = 'Type'
|
|
KEY_LINK_TYPE = 'LinkType'
|
|
KEY_LINK_PARAM = 'LinkParam'
|
|
KEY_LINK_ZUP = 'LinkZup'
|
|
KEY_SPEED = 'Speed'
|
|
KEY_FEED = 'Feed'
|
|
KEY_EXT_FEED = 'ExtFeed'
|
|
KEY_INT_FEED = 'IntFeed'
|
|
KEY_INFILL_FEED = 'InfillFeed'
|
|
KEY_LEAD_IN_FEED = 'LeadInFeed'
|
|
KEY_LEAD_OUT_FEED = 'LeadOutFeed'
|
|
KEY_SUPPORT_FEED = 'SupportFeed'
|
|
KEY_G0_FEED = 'G0Feed'
|
|
KEY_MATERIAL = 'Material'
|
|
KEY_LEAD_IN_TYPE = 'LeadIn'
|
|
KEY_LEAD_IN_TANG_DIST = 'LeadInTangDist'
|
|
KEY_LEAD_IN_ORTHO_DIST = 'LeadInOrthoDist'
|
|
KEY_SINGLE_LEAD_IN = 'SingleLeadIn'
|
|
KEY_LEAD_OUT_TYPE = 'LeadOut'
|
|
KEY_LEAD_OUT_TANG_DIST= 'LeadOutTangDist'
|
|
KEY_LEAD_OUT_ORTHO_DIST= 'LeadOutOrthoDist'
|
|
KEY_OFFSET_LEAD_POINT = 'OffsetLeadPoint'
|
|
KEY_COASTING_LEN = 'CoastingLen'
|
|
KEY_COASTING_FEED = 'CoastingFeed'
|
|
KEY_WIPE_LEN = 'WipeLen'
|
|
KEY_WIPE_DIR = 'WipeDir'
|
|
KEY_WIPE_FEEDPU = 'WipeFeedPu'
|
|
KEY_TOOL_DIAM = 'ToolDiam'
|
|
KEY_MAX_STRANDH_FACTOR = 'MaxStrandHFactor'
|
|
KEY_MIN_STRANDH_FACTOR = 'MinStrandHFactor'
|
|
|
|
-- Solid Fill
|
|
KEY_FLOOR_NBR = 'FloorCount'
|
|
KEY_FLOOR_TYPE = 'FloorType'
|
|
KEY_CEIL_NBR = 'CeilCount'
|
|
KEY_CEIL_TYPE = 'CeilType'
|
|
KEY_FILL_TYPE = 'FillType'
|
|
|
|
-- Infill
|
|
KEY_INFILL_STRAND = 'InfillStrandW'
|
|
KEY_INFILL_TYPE = 'InfillType'
|
|
KEY_INFILL_DENSITY = 'InfillDensity'
|
|
KEY_INFILL_LINK = 'InfillLink'
|
|
KEY_INFILL_OVERLAP = 'InfillOverlap'
|
|
KEY_INFILL_GRID_OVERLAP = 'InfillGridOverlap'
|
|
KEY_INFILL_DIR = 'InfillDirection'
|
|
KEY_INFILL_OFFSET_X = 'InfillOffsetX'
|
|
KEY_INFILL_OFFSET_Y = 'InfillOffsetY'
|
|
KEY_INFILL_COASTING = 'InfillCoasting'
|
|
KEY_INFILL_WIPE = 'InfillWipe'
|
|
KEY_INFILL_WIPE_DIR = 'InfillWipeDir'
|
|
|
|
-- Ribs
|
|
KEY_RIBS_STRAND = 'RibsStrandW'
|
|
KEY_RIBS_TYPE = 'RibsType'
|
|
KEY_LIMIT_UNBDD_RIBS = 'LimitUnboundedRibsWithSolid'
|
|
KEY_RIBS_OVERLAP = 'RibsOverlap'
|
|
KEY_RIBS_STRAND_OVERLAP = 'RibsStrandOverlap'
|
|
KEY_RIBS_SHELLS_NBR = 'RibsStrandCount'
|
|
KEY_RIBS_LINK = 'RibsLink'
|
|
KEY_RIBS_INVERT_DIR = 'RibsInvertDirection'
|
|
KEY_RIBS_INVERT_ORDER = 'RibsInvertOrder'
|
|
KEY_RIBS_LEAD_IN_INVERT = 'RibsLeadInInvert'
|
|
KEY_RIBS_LEAD_IN_LEN = 'RibsLeadInLen'
|
|
KEY_RIBS_LEAD_OUT_INVERT = 'RibsLeadOutInvert'
|
|
KEY_RIBS_LEAD_OUT_LEN = 'RibsLeadOutLen'
|
|
KEY_RIBS_LEAD_OUT_COASTING = 'RibsLeadOutCoasting'
|
|
KEY_RIBS_LEAD_OUT_WIPE = 'RibsLeadOutWipe'
|
|
KEY_RIBS_LEAD_OUT_WIPE_DIR = 'RibsLeadOutWipeDir'
|
|
KEY_RIBS_INTERS = 'RibsHaveIntersections'
|
|
KEY_RIBS_SPECIAL_CASE = 'RibsSpecialCase'
|
|
KEY_SPLIT_ORDER = 'SplitOrder'
|
|
KEY_SPLIT_AFTER_TRIM = 'RibsSplitAfterTrim'
|
|
KEY_SPLIT_AFTER_TRIM_ORDER = 'RibsSplitAfterTrimOrder'
|
|
KEY_SPLIT_AFTER_TRIM_TOT = 'RibsSplitAfterTrimTot'
|
|
KEY_SPLIT_ID = 'SplitId'
|
|
KEY_START_RIB = 'StartRib'
|
|
KEY_ORIGINAL_RIB = 'OriginalRib'
|
|
KEY_LOOP_RIB = 'LoopRib'
|
|
KEY_RIBS_USER_LINK = 'RibWithUserLink'
|
|
KEY_RIBS_USER_LINK_SAME_SIDE = 'RibUserLinkOnSameSide'
|
|
KEY_RIBS_USER_LINK_CCW = 'RibUserLinkCCW'
|
|
KEY_RIBS_USER_LINK_ORDER = 'RibUserLinkOrder'
|
|
KEY_RIBS_USER_LINK_TOT = 'RibsUserLinkParts'
|
|
KEY_RIBS_INVERT_STRAND_ORDER = 'RibsInvertStrandOrder'
|
|
KEY_RIBS_MERGE_WITH_SHELLS = 'RibsMergeWithShell'
|
|
KEY_INVERT_RIBS_MERGED_SHELL_LINK = 'InvertRibsMergedShellMainLink'
|
|
KEY_RIBS_LEAD_FILLET = 'RibsLeadFillet'
|
|
KEY_RIBS_LINK_FILLET = 'RibsLinkFillet'
|
|
|
|
-- Regioni con diverso numero di passate
|
|
KEY_SHELL_NBR_DIFF = 'ShellNbrDifference'
|
|
KEY_SHELL_NBR_COASTING = 'ShellNbrCoasting'
|
|
KEY_SHELL_NBR_WIPE = 'ShellNbrWipe'
|
|
KEY_SHELL_NBR_WIPE_DIR = 'ShellNbrWipeDir'
|
|
KEY_EXTRA_SHELL_COASTING = 'ExtraShellCoasting'
|
|
KEY_EXTRA_SHELL_WIPE = 'ExtraShellWipe'
|
|
KEY_EXTRA_SHELL_WIPE_DIR = 'ExtraShellWipeDir'
|
|
|
|
-- Solidi ausiliari
|
|
KEY_AUX_SOLIDS_STRAND = 'AuxSolidsStrandW'
|
|
KEY_AUX_SOLIDS_SHELLS_NBR = 'AuxSolidsStrandCount'
|
|
KEY_AUX_SOLIDS_OVERLAP = 'AuxSolidsOverlap'
|
|
KEY_AUX_SOLIDS_INFILL = 'AuxSolidsInfill'
|
|
KEY_AUX_SOLIDS_PRINT_ORDER = 'AuxSolidsStrandOrder'
|
|
KEY_AUX_SOLIDS_LINK_TYPE = 'AuxSolidsLinkType'
|
|
KEY_AUX_SOLIDS_LINK_PARAM = 'AuxSolidsLinkParam'
|
|
KEY_AUX_SOLIDS_SP_OFFSET = 'AuxSolidsStartPointOffsetOnSlice'
|
|
KEY_AUX_SOLIDS_LP_OFFSET = 'AuxSolidsOffsetLeadPoint'
|
|
KEY_AUX_SOLIDS_INFILL_LINK = 'AuxSolidsInfillLink'
|
|
KEY_AUX_SOLIDS_DENSITY = 'AuxSolidsDensity'
|
|
KEY_AUX_SOLIDS_DIR = 'AuxSolidsDirection'
|
|
KEY_AUX_SOLIDS_OFFSET_X = 'AuxSolidsOffsetX'
|
|
KEY_AUX_SOLIDS_OFFSET_Y = 'AuxSolidsOffsetY'
|
|
KEY_AUX_SOLIDS_GRID_OVERLAP = 'AuxSolidsGridOverlap'
|
|
KEY_AUX_SOLIDS_COASTING_LEN = 'AuxSolidsCoastingLen'
|
|
KEY_AUX_SOLIDS_WIPE_LEN = 'AuxSolidsWipeLen'
|
|
KEY_AUX_SOLIDS_WIPE_DIR = 'AuxSolidsWipeDir'
|
|
|
|
-- Parametri di macchina
|
|
SEC_3DPRINTING = '3dPrinting'
|
|
KEY_HORIZ_EXTR = 'HorizExtrusion'
|
|
KEY_COEFF_X = 'CoeffX'
|
|
KEY_COEFF_Y = 'CoeffY'
|
|
KEY_SPEED_MIN = 'SpeedMin'
|
|
KEY_SPEED_MAX = 'SpeedMax'
|
|
KEY_FEED_MAX = 'FeedMax'
|
|
KEY_LINEAR_APPROX = 'LinearApprox'
|
|
KEY_LINEAR_TOL = 'LinearTol'
|
|
|
|
-- Altre chiavi
|
|
KEY_MAX_H = 'SlicingHeight'
|
|
KEY_MAX_SLICES_NBR = 'MaxSlicesNumber'
|
|
KEY_SLICE_NBR = 'SliceNbr'
|
|
KEY_SLICE_DIR = 'SliceDir'
|
|
KEY_SLICE_POS = 'SlicePos'
|
|
KEY_SLICE_DELTAZ = 'DeltaZ'
|
|
KEY_ZIG_ZAG_INFILL = 'ZigZagInfill'
|
|
KEY_ZIG_ZAG_DIR = 'ZigZagDir'
|
|
KEY_INVERTED_CRV = 'InvertedCrv'
|
|
KEY_CLOSED_CRV = 'ClosedCrv'
|
|
KEY_ASSOCIATED_SURF = 'AssociatedSurf'
|
|
KEY_ASSOCIATED_CRVS = 'AssociatedCrvs'
|
|
KEY_ORIGINAL_SURF = 'OriginalSurf'
|
|
KEY_HAS_SOLIDS = 'Solids'
|
|
KEY_BOX_MIN_Z = 'PartBoxMinZ'
|
|
KEY_ORIGINAL_START_POINT = 'OriginalStartPoint'
|
|
KEY_FIRST_SOLID_LAY = 'FirstSolidLay'
|
|
KEY_LAST_SOLID_LAY = 'LastSolidLay'
|
|
KEY_ASSOCIATED_TP_CRV = 'AssociatedToolPathCrv'
|
|
KEY_ASSOCIATED_P_CRV = 'AssociatedPathCrv'
|
|
KEY_INTERNAL_SRF_LOOP = 'InternalSrfLoop'
|
|
KEY_PREV_CRV = 'PrevCrv'
|
|
KEY_NEXT_CRVS = 'NextCrvs'
|
|
KEY_CRV_STRAND = 'CurveStrand'
|
|
KEY_LAYER_CNT = 'LayerCnt'
|
|
KEY_CRV_OFFSET = 'CurveOffset'
|
|
KEY_ORIG_REF = 'Orig'
|
|
KEY_WIPE_ON_CRV = 'WipeOnCrv'
|
|
KEY_FEED_COEFF = 'FeedCoeff'
|
|
KEY_ENTITY_NAME = 'EntityName'
|
|
KEY_MULTIPLANAR_MAX_H = 'MultiplanarMaxH'
|
|
KEY_MULTIPLANAR_MIN_H = 'MultiplanarMinH'
|
|
|
|
SLICING_TYPE = {
|
|
VERTICAL = 1,
|
|
DEG45_X = 2,
|
|
DEG45_Y = 3,
|
|
HORIZONTAL = 4,
|
|
MULTIPLANAR = 5,
|
|
MULTIPLANAR_DEG45 = 6,
|
|
MULTIPLANAR_HOR = 7,
|
|
}
|
|
|
|
TYPE = {
|
|
OUTER_SHELL = 1,
|
|
INNER_SHELL = 2,
|
|
INFILL = 3,
|
|
EXTRA_SHELL = 4,
|
|
EXTRA_OUTER_SHELL = 5,
|
|
LINK = 6,
|
|
COASTING = 7,
|
|
WIPE = 8,
|
|
RIB = 9,
|
|
AUX_SOLID = 10,
|
|
}
|
|
|
|
PRINT_ELEMENT = {
|
|
SHELL = 1,
|
|
EXTRA_SHELL = 2,
|
|
INFILL = 3,
|
|
AUX_SOLID = 4,
|
|
RIB_UNBOUNDED = 5,
|
|
RIB_EXTERNAL = 6,
|
|
RIB_INTERNAL = 7,
|
|
RIB_SUPPORT = 8,
|
|
}
|
|
|
|
PRINT_ORDER = {
|
|
EXT_INT = 1,
|
|
INT_EXT = 2,
|
|
}
|
|
|
|
PRINT_DIRECTION = {
|
|
CCW = 1,
|
|
CW = 2,
|
|
}
|
|
|
|
LINK_TYPE = {
|
|
NONE = 1,
|
|
LINEAR = 2,
|
|
BIARC = 3,
|
|
}
|
|
|
|
LEAD_TYPE = {
|
|
NONE = 1,
|
|
LINEAR = 2,
|
|
ARC = 3,
|
|
}
|
|
|
|
FILL_CATEGORY = {
|
|
NONE = 0,
|
|
SOLID_FILL = 16,
|
|
INFILL = 32,
|
|
}
|
|
|
|
FILL_TYPE = {
|
|
NONE = 0,
|
|
OFFSET = 16,
|
|
ZIGZAG = 17,
|
|
LINES = 32,
|
|
GRID = 33,
|
|
ZIG_ZAG_GRID = 34,
|
|
HONEYCOMB = 35,
|
|
HONEYCOMB_GRID = 36,
|
|
}
|
|
|
|
RIB_TYPE = {
|
|
INTERNAL = 1,
|
|
EXTERNAL = 2,
|
|
UNBOUNDED = 3,
|
|
SUPPORT = 4,
|
|
}
|
|
|
|
---------------------------------------------------------------------
|
|
TABLE = 'Table'
|
|
PART = 'Part'
|
|
ORIGINAL_SOLID = 'OriginalSolid'
|
|
PRINT_SOLID = 'PrintSolid'
|
|
LAY_MACH_START = 'MachStart'
|
|
LAY_RIBS = 'Ribs'
|
|
LAY_AUX_SOLIDS = 'AuxSolids'
|
|
LAY_SHELL_NBR = 'ShellNumber'
|
|
LAY_AUX = 'Aux'
|
|
SPINE_CURVE = 'Spine'
|
|
LAY_FRAME = 'Frame'
|
|
VIEWPARAMS = 'ViewParams'
|
|
IMPORTED_SOLID = 'ImportedSolid'
|
|
RESULT_READ_PROG = 'ResultReadProg'
|
|
LAY_EXPORT = 'ExportLayer'
|
|
|
|
KEY_PART_ON_TABLE = 'PartOnTable'
|
|
KEY_RESULT = 'Result'
|
|
KEY_WAITING_TIME = 'WaitingTime'
|
|
KEY_PALETTE = 'Palette'
|
|
KEY_LAYER_VIEW = 'LayerView'
|
|
KEY_SHELL_VIEW = 'ShellView'
|
|
KEY_INNER_NUM = 'InnerNum'
|
|
KEY_SEL_LAYER = 'SelLayer'
|
|
KEY_SLICE_ADV_MODE = 'SliceAdvMode'
|
|
KEY_SLICE_ADV_PERC = 'SliceAdvPerc'
|
|
|
|
KEY_MOVED_PART ='MovedPart'
|
|
KEY_MOVED_PART2 ='MovedPart2'
|
|
|
|
RESULT = {
|
|
OK = 1,
|
|
KO_MINUS = 2,
|
|
KO_PLUS = 3,
|
|
}
|
|
|
|
PALETTE_TYPE = {
|
|
IN_OUT = 1,
|
|
RESULTS = 2,
|
|
}
|
|
|
|
LAYER_VIEW_TYPE = {
|
|
ALL = 1,
|
|
TILL_SEL = 2,
|
|
ONLY_SEL = 3,
|
|
FROM_SEL = 4,
|
|
}
|
|
SHELL_VIEW_TYPE = {
|
|
ALL = 1,
|
|
OUTER = 2,
|
|
INNER = 3,
|
|
INFILL = 4,
|
|
}
|
|
SLICE_ADV_TYPE = {
|
|
ALL = 1,
|
|
OUTER = 2,
|
|
INNER = 3,
|
|
INFILL = 4,
|
|
}
|
|
|
|
---------------------------------------------------------------------
|
|
RIBS_GRP = 'Ribs'
|
|
RIBS_CRV = 'Rib'
|
|
RIBS_LOOP_GRP = 'RibsLoops'
|
|
|
|
SHELL_NBR_GRP = 'ShellNbrRegions'
|
|
SHELL_NBR_CRV = 'ShellNbrRegion'
|
|
SHELL_NBR_SURF = 'ShellNbrSurf'
|
|
|
|
AUX_SOLIDS_GRP = 'AuxSolids'
|
|
AUX_SOLIDS_INFILL_GRP = 'InfillAuxSolids'
|
|
AUX_SOLIDS_CRV = 'AuxSolid'
|
|
AUX_SOLIDS_INFILL_CRV = 'InfillAuxSolid'
|
|
AUX_SOLIDS_SRF = 'SrfAuxSolid'
|
|
|
|
INFILL_GRP = 'Infill'
|
|
INFILL_CRV = 'InfillCrv'
|
|
|
|
---------------------------------------------------------------------
|
|
-- parametri calcolo tempi, F ed S
|
|
LAY_TFSCALC = 'TFSCalc'
|
|
KEY_TMIN = 'TMin'
|
|
KEY_TTRG = 'TTrg'
|
|
KEY_TMAX = 'TMax'
|
|
KEY_FMIN = 'FMin'
|
|
KEY_FTRG = 'FTrg'
|
|
KEY_FMAX = 'FMax'
|
|
KEY_TCUR = 'TCur'
|
|
KEY_FCUR = 'FCur'
|
|
KEY_LENGTH = 'Length'
|
|
KEY_SLICEID = 'SliceId'
|
|
KEY_MASS = 'PrintMass'
|
|
KEY_MF = 'MF'
|
|
KEY_TOTAREA = 'TotArea'
|
|
|
|
---------------------------------------------------------------------
|
|
return AddManData
|