first commit
This commit is contained in:
40
lib/macro.py
Normal file
40
lib/macro.py
Normal file
@@ -0,0 +1,40 @@
|
||||
import numpy as np
|
||||
|
||||
ALL_COMMANDS = ['Line', 'Arc', 'Circle', 'EOS', 'SOL', 'Ext']
|
||||
LINE_IDX = ALL_COMMANDS.index('Line')
|
||||
ARC_IDX = ALL_COMMANDS.index('Arc')
|
||||
CIRCLE_IDX = ALL_COMMANDS.index('Circle')
|
||||
EOS_IDX = ALL_COMMANDS.index('EOS')
|
||||
SOL_IDX = ALL_COMMANDS.index('SOL')
|
||||
EXT_IDX = ALL_COMMANDS.index('Ext')
|
||||
|
||||
EXTRUDE_OPERATIONS = ["NewBodyFeatureOperation", "JoinFeatureOperation",
|
||||
"CutFeatureOperation", "IntersectFeatureOperation"]
|
||||
EXTENT_TYPE = ["OneSideFeatureExtentType", "SymmetricFeatureExtentType",
|
||||
"TwoSidesFeatureExtentType"]
|
||||
|
||||
PAD_VAL = -1
|
||||
N_ARGS_SKETCH = 5 # sketch parameters: x, y, alpha, f, r
|
||||
N_ARGS_PLANE = 3 # sketch plane orientation: theta, phi, gamma
|
||||
N_ARGS_TRANS = 4 # sketch plane origin + sketch bbox size: p_x, p_y, p_z, s
|
||||
N_ARGS_EXT_PARAM = 4 # extrusion parameters: e1, e2, b, u
|
||||
N_ARGS_EXT = N_ARGS_PLANE + N_ARGS_TRANS + N_ARGS_EXT_PARAM
|
||||
N_ARGS = N_ARGS_SKETCH + N_ARGS_EXT
|
||||
|
||||
SOL_VEC = np.array([SOL_IDX, *([PAD_VAL] * N_ARGS)])
|
||||
EOS_VEC = np.array([EOS_IDX, *([PAD_VAL] * N_ARGS)])
|
||||
|
||||
CMD_ARGS_MASK = np.array([[1, 1, 0, 0, 0, *[0]*N_ARGS_EXT], # line
|
||||
[1, 1, 1, 1, 0, *[0]*N_ARGS_EXT], # arc
|
||||
[1, 1, 0, 0, 1, *[0]*N_ARGS_EXT], # circle
|
||||
[0, 0, 0, 0, 0, *[0]*N_ARGS_EXT], # EOS
|
||||
[0, 0, 0, 0, 0, *[0]*N_ARGS_EXT], # SOL
|
||||
[*[0]*N_ARGS_SKETCH, *[1]*N_ARGS_EXT]]) # Extrude
|
||||
|
||||
NORM_FACTOR = 0.75 # scale factor for normalization to prevent overflow during augmentation
|
||||
|
||||
MAX_N_EXT = 10 # maximum number of extrusion
|
||||
MAX_N_LOOPS = 6 # maximum number of loops per sketch
|
||||
MAX_N_CURVES = 15 # maximum number of curves per loop
|
||||
MAX_TOTAL_LEN = 60 # maximum cad sequence length
|
||||
ARGS_DIM = 256
|
||||
Reference in New Issue
Block a user