Files
3dprinting/LuaLibs/AddManData.lua
T
SaraP 9b36d4c19d 3dPrinting :
- aggiunto parametro 'SingleLeadIn' per fare lead in solo sul primo layer.
2026-05-05 11:44:20 +02:00

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