@faicad/cq-compat 0.13.1 → 0.14.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/browser.d.ts +1 -1
- package/dist/browser.d.ts.map +1 -1
- package/dist/browser.js +8 -1
- package/dist/browser.js.map +1 -1
- package/dist/gear-test-harness.d.ts.map +1 -1
- package/dist/gear-test-harness.js +9 -12
- package/dist/gear-test-harness.js.map +1 -1
- package/dist/index.d.ts +5 -7
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +14 -4
- package/dist/index.js.map +1 -1
- package/dist/sketch.d.ts +209 -0
- package/dist/sketch.d.ts.map +1 -0
- package/dist/sketch.js +529 -0
- package/dist/sketch.js.map +1 -0
- package/dist/workplane.d.ts +47 -0
- package/dist/workplane.d.ts.map +1 -1
- package/dist/workplane.js +424 -5
- package/dist/workplane.js.map +1 -1
- package/package.json +3 -2
package/dist/workplane.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workplane.d.ts","sourceRoot":"","sources":["../src/workplane.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AASH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAA;AA0BrD;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,OAAO,GAAG,KAAK,CAgB7C;AAID,6BAA6B;AAC7B,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;AAE1C;;;;;;;;;;;;;;;GAeG;AACH,+EAA+E;AAC/E,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;IAChC,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;IAC9B,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;IAC9B,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;CACjC;AAED;;;;;GAKG;AACH,MAAM,MAAM,WAAW,GACnB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,SAAS,CAAA;CAAE,GACxG;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,SAAS,CAAA;CAAE,GACpG;IACE,IAAI,EAAE,SAAS,CAAA;IACf,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE,MAAM,CAAA;IACnB,EAAE,EAAE,MAAM,CAAA;IACV,EAAE,EAAE,MAAM,CAAA;IACV,YAAY,EAAE,OAAO,CAAA;IACrB,KAAK,CAAC,EAAE,SAAS,CAAA;IACjB,8EAA8E;IAC9E,IAAI,CAAC,EAAE,OAAO,CAAA;CACf,GACD;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,SAAS,CAAA;CAAE;AAC7G,iFAAiF;GAC/E;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;IAAC,KAAK,CAAC,EAAE,WAAW,EAAE,CAAC;IAAC,YAAY,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,SAAS,CAAA;CAAE,CAAA;AAE9G;;;;GAIG;AACH,MAAM,MAAM,WAAW,GACnB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAAC,EAAE,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,GAC9D;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAAC,GAAG,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAAC,EAAE,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,GACrF;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAAC,GAAG,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAAC,EAAE,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,GAC3F;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAAC,GAAG,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;IAAC,EAAE,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAAC,SAAS,CAAC,EAAE,OAAO,CAAA;CAAE,CAAA;AAE7I;;;;;GAKG;AACH,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,IAAI,CAAA;IACV,sCAAsC;IACtC,KAAK,EAAE,MAAM,CAAA;IACb,6CAA6C;IAC7C,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;IAChC,gDAAgD;IAChD,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;IAChC,gFAAgF;IAChF,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;IAC9B,iEAAiE;IACjE,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;IAC9B,mEAAmE;IACnE,KAAK,EAAE,KAAK,GAAG,IAAI,CAAA;IACnB,gEAAgE;IAChE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,8DAA8D;IAC9D,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,mDAAmD;IACnD,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,+DAA+D;IAC/D,GAAG,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAA;IACvB,8DAA8D;IAC9D,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAA;IAC5B,wEAAwE;IACxE,eAAe,EAAE,OAAO,CAAA;IACxB,oFAAoF;IACpF,WAAW,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IACtC,wFAAwF;IACxF,aAAa,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAA;IAClC,+FAA+F;IAC/F,cAAc,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IACzC;;;;OAIG;IACH,YAAY,CAAC,EAAE,WAAW,EAAE,CAAA;IAC5B;;;OAGG;IACH,YAAY,CAAC,EAAE,WAAW,EAAE,CAAA;IAC5B;;;;OAIG;IACH,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC/B;;;;OAIG;IACH,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC7B,gDAAgD;IAChD,KAAK,CAAC,EAAE,GAAG,CAAA;CACZ;AAiQD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,mBAAmB,CACvC,KAAK,EAAE,KAAK,EACZ,GAAG,EAAE,MAAM,EACX,YAAY,CAAC,EAAE,MAAM,GACpB,OAAO,CAAC;IAAE,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAAC,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,CAAC,CAsQjF;AA4GD,8DAA8D;AAC9D,KAAK,SAAS,GAAG,OAAO,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;AAyCtD;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,KAAK,GAAE,MAAa,GAAG,SAAS,CAEzD;AAED;;;;;GAKG;AACH,wBAAsB,GAAG,CAAC,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,SAAS,CAAC,CAEzE;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,GAAG,CACvB,EAAE,EAAE,SAAS,EACb,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,IAAI,CAAC,EAAE;IAAE,QAAQ,CAAC,EAAE,SAAS,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,GACjD,OAAO,CAAC,SAAS,CAAC,CAsBpB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,MAAM,CAC1B,EAAE,EAAE,SAAS,EACb,MAAM,EAAE,MAAM,EACd,IAAI,CAAC,EAAE;IAAE,QAAQ,CAAC,EAAE,SAAS,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,GACjD,OAAO,CAAC,SAAS,CAAC,CAepB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAsB,KAAK,CACzB,EAAE,EAAE,SAAS,EACb,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE;IAAE,QAAQ,CAAC,EAAE,SAAS,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,GAClE,OAAO,CAAC,SAAS,CAAC,CA2CpB;AAyBD;;;;;;;;;;;;;GAaG;AACH,wBAAsB,QAAQ,CAC5B,EAAE,EAAE,SAAS,EACb,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,IAAI,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,SAAS,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,GACpG,OAAO,CAAC,SAAS,CAAC,CAsCpB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,KAAK,CACzB,EAAE,EAAE,SAAS,EACb,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,IAAI,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,GAC3B,OAAO,CAAC,SAAS,CAAC,CAIpB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,IAAI,CACxB,EAAE,EAAE,SAAS,EACb,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,CAAC,EAAE,MAAM,EACT,IAAI,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,GAC3B,OAAO,CAAC,SAAS,CAAC,CAMpB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,MAAM,CACpB,EAAE,EAAE,SAAS,EACb,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,MAAM,GAAE,OAAO,GAAG,CAAC,OAAO,EAAE,OAAO,CAAQ,GAC1C,SAAS,CAcX;AAED;;;;;;;GAOG;AACH,wBAAgB,IAAI,CAClB,EAAE,EAAE,SAAS,EACb,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,IAAI,CAAC,EAAE;IAAE,eAAe,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;CAAE,GAC5E,SAAS,CAyCX;AAED;;;;;GAKG;AACH,wBAAgB,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,GAAG,SAAS,CAY/D;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,OAAO,CAAC,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,SAAS,CAsBpF;AAED;;;;;;GAMG;AACH,wBAAgB,OAAO,CAAC,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,SAAS,CAatE;AAiSD;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAC3B,EAAE,EAAE,SAAS,EACb,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EACxB,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EACxB,eAAe,GAAE,OAAe,GAC/B,SAAS,CAEX;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,UAAU,CACxB,EAAE,EAAE,SAAS,EACb,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAC1B,GAAG,EAAE,MAAM,EACX,eAAe,GAAE,OAAe,GAC/B,SAAS,CAgBX;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,SAAS,CACvB,EAAE,EAAE,SAAS,EACb,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAC1B,MAAM,EAAE,MAAM,EACd,eAAe,GAAE,OAAe,GAC/B,SAAS,CAWX;AAED;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAC7B,EAAE,EAAE,SAAS,EACb,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAC1B,eAAe,GAAE,OAAe,EAChC,QAAQ,GAAE,OAAc,GACvB,SAAS,CAKX;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,MAAM,CACpB,EAAE,EAAE,SAAS,EACb,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,EAC1B,IAAI,CAAC,EAAE;IAAE,eAAe,CAAC,EAAE,OAAO,CAAC;IAAC,cAAc,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,GACrG,SAAS,CAkCX;AA0BD;;;;;;GAMG;AACH,wBAAgB,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,CAAC,GAAE,MAAU,EAAE,CAAC,GAAE,MAAU,GAAG,SAAS,CAE7E;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,KAAK,GAAE,MAAU,EAAE,KAAK,GAAE,MAAU,GAAG,SAAS,CAGrF;AAED;;;;;;;;GAQG;AACH,wBAAgB,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,eAAe,GAAE,OAAe,GAAG,SAAS,CAEvG;AAED;;;;;;;GAOG;AACH,wBAAgB,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,eAAe,GAAE,OAAe,GAAG,SAAS,CAG7G;AAED;;;;;;;GAOG;AACH,wBAAgB,KAAK,CAAC,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,eAAe,GAAE,OAAe,GAAG,SAAS,CAElG;AAED;;;;;;;GAOG;AACH,wBAAgB,KAAK,CAAC,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,eAAe,GAAE,OAAe,GAAG,SAAS,CAElG;AAED;;;;;;;GAOG;AACH,wBAAgB,OAAO,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,GAAE,OAAe,GAAG,SAAS,CAElG;AAED;;;;;;;GAOG;AACH,wBAAgB,OAAO,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,GAAE,OAAe,GAAG,SAAS,CAElG;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,QAAQ,CACtB,EAAE,EAAE,SAAS,EACb,GAAG,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,EACvB,eAAe,GAAE,OAAe,EAChC,cAAc,GAAE,OAAe,GAC9B,SAAS,CAWX;AAED;;;;;;;;GAQG;AACH,wBAAgB,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,eAAe,GAAE,OAAe,GAAG,SAAS,CA4B/E;AAED;;;;;;;GAOG;AACH,wBAAgB,KAAK,CAAC,EAAE,EAAE,SAAS,GAAG,SAAS,CAY9C;AA0PD;;;;;;;;;;;;;GAaG;AACH,wBAAsB,OAAO,CAC3B,EAAE,EAAE,SAAS,EACb,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,OAAc,EACvB,IAAI,CAAC,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GACxB,OAAO,CAAC,SAAS,CAAC,CAuMpB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,OAAO,CAC3B,EAAE,EAAE,SAAS,EACb,YAAY,SAAM,EAClB,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EACvD,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EACrD,OAAO,GAAE,OAAO,GAAG,KAAY,GAC9B,OAAO,CAAC,SAAS,CAAC,CAkDpB;AAED,wCAAwC;AACxC,MAAM,WAAW,WAAW;IAC1B,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,OAAO,CAAC,EAAE,OAAO,GAAG,KAAK,CAAA;IACzB,sFAAsF;IACtF,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;IACrC,oFAAoF;IACpF,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;CACpC;AA4BD;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,CAAC,SAAS,GAAG,WAAW,CAAC,EAAE,GAAG,OAAO,CAAC,SAAS,CAAC,CAyClG;AAED;;;;;;GAMG;AACH,wBAAsB,QAAQ,CAC5B,EAAE,EAAE,SAAS,EACb,KAAK,EAAE,MAAM,EACb,IAAI,CAAC,EAAE;IAAE,CAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GACjE,OAAO,CAAC,SAAS,CAAC,CAoFpB;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,UAAU,CAAC,EAAE,EAAE,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,CAkDlE;AAED;;;;;;GAMG;AACH,wBAAsB,IAAI,CACxB,EAAE,EAAE,SAAS,EACb,QAAQ,EAAE,MAAM,EAChB,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,SAAS,CAAC,CAyBpB;AAED;;;;;;;;GAQG;AACH,wBAAsB,SAAS,CAC7B,EAAE,EAAE,SAAS,EACb,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,MAAM,EACrB,UAAU,EAAE,MAAM,EAClB,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,SAAS,CAAC,CAsBpB;AAED;;;;;;;GAOG;AACH,wBAAsB,OAAO,CAC3B,EAAE,EAAE,SAAS,EACb,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,SAAS,CAAC,CAoBpB;AAED;;;;;;GAMG;AACH,wBAAsB,YAAY,CAChC,EAAE,EAAE,SAAS,EACb,kBAAkB,EAAE,MAAM,GAAG,OAAO,EACpC,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,SAAS,CAAC,CAGpB;AAED;;;;;GAKG;AACH,wBAAgB,KAAK,CAAC,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,GAAG,SAAS,CAE3D;AAED;;;;;GAKG;AACH,wBAAgB,KAAK,CACnB,EAAE,EAAE,SAAS,EACb,GAAG,CAAC,EAAE,MAAM,GAAG;IAAE,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GAC1D,SAAS,CAYX;AAED;;;;;GAKG;AACH,wBAAgB,QAAQ,CACtB,EAAE,EAAE,SAAS,EACb,GAAG,CAAC,EAAE,MAAM,GAAG;IAAE,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GAC1D,SAAS,CAYX;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,MAAM,CAAC,EAAE,EAAE,SAAS,GAAG,SAAS,CAY/C;AAED;;;;;GAKG;AACH,wBAAsB,SAAS,CAC7B,EAAE,EAAE,SAAS,EACb,IAAI,CAAC,EAAE;IAAE,YAAY,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,GAClE,OAAO,CAAC,SAAS,CAAC,CAoEpB;AAED;;;;;;GAMG;AACH,wBAAgB,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,SAAS,CAGrE;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,SAAS,CAG5E;AAED;;;;;GAKG;AACH,wBAAsB,SAAS,CAC7B,EAAE,EAAE,SAAS,EACb,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAC1B,OAAO,CAAC,SAAS,CAAC,CAIpB;AAED;;;;;;GAMG;AACH,wBAAsB,MAAM,CAC1B,EAAE,EAAE,SAAS,EACb,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAC9B,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,SAAS,CAAC,CASpB;AAgBD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,MAAM,CAC1B,EAAE,EAAE,SAAS,EACb,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,EAC3C,eAAe,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAC1C,KAAK,CAAC,EAAE,OAAO,GACd,OAAO,CAAC,SAAS,CAAC,CAwBpB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,YAAY,CAAC,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAwCjF;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,YAAY,CAAC,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAqBjF;AAID;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,YAAY,EAAE,IAAI,CAAA;IAC3B,wBAAwB;IACxB,QAAQ,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;IACtC,6DAA6D;IAC7D,QAAQ,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;CACvC;AAWD;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,UAAU,CAEtD;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,QAAQ,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,UAAU,CAwBvD;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,GAAG,UAAU,CAqCzE;AAwHD;;;;;;;;;;;GAWG;AACH,wBAAsB,KAAK,CAAC,EAAE,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,SAAS,CAAC,CAyBjF;AAED;;;;;;;GAOG;AACH,wBAAsB,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,SAAS,CAAC,CAEhF;AAED;;;;;GAKG;AACH,wBAAsB,KAAK,CACzB,EAAE,EAAE,SAAS,EACb,KAAK,EAAE,SAAS,GAAG,KAAK,GACvB,OAAO,CAAC,SAAS,CAAC,CAMpB;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,OAAO,CAAC,EAAE,EAAE,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,CAI/D;AAED;;;;;GAKG;AACH,wBAAsB,GAAG,CACvB,EAAE,EAAE,SAAS,EACb,KAAK,EAAE,SAAS,GAAG,KAAK,GACvB,OAAO,CAAC,SAAS,CAAC,CAMpB;AAED;;;;;;;;GAQG;AACH,wBAAsB,IAAI,CAAC,EAAE,EAAE,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,CAyB5D;AAED;;;;;;;;;GASG;AACH,wBAAgB,MAAM,CAAC,CAAC,GAAE,MAAU,EAAE,CAAC,GAAE,MAAU,EAAE,CAAC,GAAE,MAAU,GAAG,KAAK,CAEzE;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,QAAQ,CAAC,GAAG,KAAK,EAAE,CAAC,SAAS,GAAG,KAAK,GAAG,IAAI,GAAG,SAAS,CAAC,EAAE,GAAG,KAAK,GAAG,IAAI,CAMzF;AAED;;;;;GAKG;AACH,wBAAsB,SAAS,CAC7B,EAAE,EAAE,SAAS,EACb,KAAK,EAAE,SAAS,GAAG,KAAK,GACvB,OAAO,CAAC,SAAS,CAAC,CAMpB;AA0CD;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAc9E;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,OAAO,CAC3B,EAAE,EAAE,SAAS,EACb,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,SAAS,CAAC,CAiBpB;AAkDD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAsB,KAAK,CAAC,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CA6ChF;AA4CD;;;;GAIG;AACH,wBAAgB,GAAG,CAAC,EAAE,EAAE,SAAS,GAAG,KAAK,GAAG,IAAI,CAE/C;AAED;;;;GAIG;AACH,wBAAgB,IAAI,CAAC,EAAE,EAAE,SAAS,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,EAAE,CAEpD;AAED;;;;;GAKG;AACH,wBAAsB,WAAW,CAC/B,EAAE,EAAE,SAAS,EACb,IAAI,EAAE;IAAE,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,GAC7E,OAAO,CAAC,SAAS,CAAC,CAgDpB;AAED;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,GAAG,SAAS,CAE7D;AAuBD;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAsB,UAAU,CAC9B,EAAE,EAAE,SAAS,EACb,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,EAChC,IAAI,EAAE;IACJ,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,iBAAiB,GAAG,MAAM,CAAA;CACtC,GACA,OAAO,CAAC,SAAS,CAAC,CAmDpB;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,KAAK,CACzB,EAAE,EAAE,SAAS,EACb,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,IAAI,CAAC,EAAE;IAAE,UAAU,CAAC,EAAE,OAAO,CAAA;CAAE,GAC9B,OAAO,CAAC,SAAS,CAAC,CAiBpB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,SAAS,CAC7B,EAAE,EAAE,SAAS,EACb,KAAK,EAAE;IAAE,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAAC,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,EAC7E,IAAI,GAAE,KAAK,GAAG,QAAgB,GAC7B,OAAO,CAAC,SAAS,CAAC,CA0CpB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,YAAY,CAChC,EAAE,EAAE,SAAS,EACb,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,IAAI,CAAC,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GACxB,OAAO,CAAC,SAAS,CAAC,CA8CpB;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,cAAc,CAClC,EAAE,EAAE,SAAS,EACb,KAAK,EAAE,SAAS,EAAE,EAClB,IAAI,CAAC,EAAE;IAAE,eAAe,CAAC,EAAE,MAAM,CAAC;IAAC,eAAe,CAAC,EAAE,OAAO,CAAA;CAAE,GAC7D,OAAO,CAAC,SAAS,CAAC,CAoCpB;AAsBD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAsB,SAAS,CAC7B,EAAE,EAAE,SAAS,EACb,KAAK,EAAE,SAAS,EAAE,EAClB,KAAK,EAAE;IAAE,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAAC,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,EAC7E,IAAI,CAAC,EAAE;IAAE,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,CAAA;CAAE,GAC3D,OAAO,CAAC,SAAS,CAAC,CAiGpB"}
|
|
1
|
+
{"version":3,"file":"workplane.d.ts","sourceRoot":"","sources":["../src/workplane.ts"],"names":[],"mappings":"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"}
|
package/dist/workplane.js
CHANGED
|
@@ -13,6 +13,7 @@ import { brepjsCompat } from '@faicad/faijs/api';
|
|
|
13
13
|
import { borrowBrepjsShape, adoptBrepjsProduct } from '@faicad/faijs/api/internal/l3-bridge';
|
|
14
14
|
import { fromHandle } from '@faicad/faijs/sdk';
|
|
15
15
|
import { brepOf, isShape } from '@faicad/faijs/shape';
|
|
16
|
+
import { setName, nameOf } from '@faicad/faijs';
|
|
16
17
|
import { getKernel } from '@faicad/faijs/occt-kernel/occtKernel';
|
|
17
18
|
// ── cad namespace singleton (created once at module load) ──────────────────
|
|
18
19
|
const cad = createApiNamespace();
|
|
@@ -59,6 +60,25 @@ export function asBrepShape(v) {
|
|
|
59
60
|
}
|
|
60
61
|
return v;
|
|
61
62
|
}
|
|
63
|
+
/**
|
|
64
|
+
* 解包 Workplane/裸 Shape 几何输入,并把载体对象(Workplane)已登记的语句名
|
|
65
|
+
* 透传给内部 shape(§1.4 lineage N1:输入 Shape 必须有 PartName 才允许成为
|
|
66
|
+
* 链上节点)。语句名由引擎在语句结束时登记在载体对象(afterStatement
|
|
67
|
+
* setName),此处同步到 shape 维——否则 cq.translate / rotate / mirror 这类
|
|
68
|
+
* 「以 Workplane 为输入的独立语句」会把链上产物误判为库内临时件而抛
|
|
69
|
+
* E_TOPO_UNTRACKED_INPUT。
|
|
70
|
+
* @param v - Workplane({ shape })或裸 Shape。
|
|
71
|
+
* @returns 内部 faijs `Shape`(名字已透传)。
|
|
72
|
+
*/
|
|
73
|
+
function resolveInputShape(v) {
|
|
74
|
+
const s = (isShape(v) ? v : v?.shape);
|
|
75
|
+
if (s && !isShape(v) && nameOf(s) === undefined) {
|
|
76
|
+
const n = v !== null && typeof v === 'object' ? nameOf(v) : undefined;
|
|
77
|
+
if (n !== undefined)
|
|
78
|
+
setName(s, n);
|
|
79
|
+
}
|
|
80
|
+
return s;
|
|
81
|
+
}
|
|
62
82
|
/** Custom prototype — borrowDeep skips objects with non-Object prototype. */
|
|
63
83
|
const WP_PROTO = { __isCqWorkplane: true };
|
|
64
84
|
// ── Internal helpers ───────────────────────────────────────────────────────
|
|
@@ -1969,6 +1989,15 @@ export async function extrude(wp, height, combine = true, opts) {
|
|
|
1969
1989
|
const base = wp.shape;
|
|
1970
1990
|
wp = await applyPendingFacePlane(wp);
|
|
1971
1991
|
const profile = await buildProfileWire(wp, solidWires[0]);
|
|
1992
|
+
if (taper < 0) {
|
|
1993
|
+
// Outward taper: the section GROWS by |h·tan(taper)| per side with ARC
|
|
1994
|
+
// joins at convex corners (upstream `extrude(h, taper=-20)` yields a
|
|
1995
|
+
// 10-face body: bottom + arc-joined top + 4 planar side faces + 4
|
|
1996
|
+
// conical corner faces). The kernel draftPrism produces sharp-corner
|
|
1997
|
+
// frusta only (volume overshoots the arc-joined body by ~2%), so the
|
|
1998
|
+
// exact body is sewn from its faces.
|
|
1999
|
+
return outwardTaperPrism(wp, base, profile, height, taper, combine);
|
|
2000
|
+
}
|
|
1972
2001
|
const face = unwrapBrepResult(compatFn('makeFace')(profile));
|
|
1973
2002
|
const kernel = getKernel();
|
|
1974
2003
|
const n = Array.isArray(wp.normal) ? wp.normal : [0, 0, 1];
|
|
@@ -2130,6 +2159,136 @@ export async function extrude(wp, height, combine = true, opts) {
|
|
|
2130
2159
|
// No shape and no pending profile — return unchanged
|
|
2131
2160
|
return wp;
|
|
2132
2161
|
}
|
|
2162
|
+
/**
|
|
2163
|
+
* outwardTaperPrism — build the exact outward-tapered prism (taper < 0).
|
|
2164
|
+
*
|
|
2165
|
+
* Upstream CadQuery `extrude(h, taper=-t)` grows the section by
|
|
2166
|
+
* `|h·tan(t)|` per side with ARC joins at convex corners: the ref body is
|
|
2167
|
+
* 10 faces (bottom + arc-joined top + 4 planar side faces + 4 conical corner
|
|
2168
|
+
* faces). The kernel `draftPrism` only produces sharp-corner frusta, whose
|
|
2169
|
+
* volume overshoots the arc-joined body (~2% at -20°), so this sews the exact
|
|
2170
|
+
* faces instead. Supported for rectilinear (4 straight-edge) profiles on
|
|
2171
|
+
* XY-oriented workplanes; anything else fails loudly rather than emitting a
|
|
2172
|
+
* wrong-corner body.
|
|
2173
|
+
*
|
|
2174
|
+
* @param wp - Workplane (post `applyPendingFacePlane`)
|
|
2175
|
+
* @param base - carried shape to fuse with (undefined when none)
|
|
2176
|
+
* @param profile - pending profile wire (BREP handle or wrapper)
|
|
2177
|
+
* @param height - extrusion distance along the workplane normal
|
|
2178
|
+
* @param taper - negative draft angle in degrees
|
|
2179
|
+
* @param combine - fuse the result with the carried shape (default true)
|
|
2180
|
+
* @returns Promise<Workplane>
|
|
2181
|
+
*/
|
|
2182
|
+
async function outwardTaperPrism(wp, base, profile, height, taper, combine) {
|
|
2183
|
+
const kernel = getKernel();
|
|
2184
|
+
const k = kernel;
|
|
2185
|
+
const raw = rawShapeId(profile);
|
|
2186
|
+
const off = Math.abs(height * Math.tan((Math.abs(taper) * Math.PI) / 180));
|
|
2187
|
+
if (off < 1e-9) {
|
|
2188
|
+
throw new Error('[cq-compat] extrude: outward taper resolves to a zero offset');
|
|
2189
|
+
}
|
|
2190
|
+
// The sewing construction is XY-oriented; the profile plane is recovered via
|
|
2191
|
+
// its own z-extent, so off-plane workplanes still work as long as the profile
|
|
2192
|
+
// is axis-aligned. Non-axis-aligned planes are rejected.
|
|
2193
|
+
const bb0 = k.getBoundingBox(raw);
|
|
2194
|
+
const z0 = bb0.zmin;
|
|
2195
|
+
if (Math.abs(bb0.zmax - bb0.zmin) > 1e-9) {
|
|
2196
|
+
throw new Error('[cq-compat] extrude: outward taper requires a planar profile (got z-extent)');
|
|
2197
|
+
}
|
|
2198
|
+
// 1. bottom face
|
|
2199
|
+
const bottomFace = k.makeFace(raw);
|
|
2200
|
+
// 2. top wire: arc-join offset lifted to z0+height
|
|
2201
|
+
const topWireRaw = k.translate(k.offsetWire2D(raw, off, 0), 0, 0, z0 + height);
|
|
2202
|
+
const topFace = k.makeFace(topWireRaw);
|
|
2203
|
+
// 3. classify top edges (straight vs arc) and match to bottom edges
|
|
2204
|
+
const bEdges = k.getSubShapes(raw, 'edge');
|
|
2205
|
+
const tEdges = k.getSubShapes(topWireRaw, 'edge');
|
|
2206
|
+
if (bEdges.length !== 4 || tEdges.length !== 8) {
|
|
2207
|
+
throw new Error(`[cq-compat] extrude: outward taper supports only 4-sided rectilinear profiles (got ${bEdges.length} bottom / ${tEdges.length} top edges)`);
|
|
2208
|
+
}
|
|
2209
|
+
const ends = (e) => {
|
|
2210
|
+
const { first, last } = k.curveParameters(e);
|
|
2211
|
+
return { a: k.curvePointAtParam(e, first), b: k.curvePointAtParam(e, last) };
|
|
2212
|
+
};
|
|
2213
|
+
const bEnds = bEdges.map(ends);
|
|
2214
|
+
const tTypes = tEdges.map((e) => String(k.curveType(e)).toLowerCase());
|
|
2215
|
+
const straightIdx = tTypes
|
|
2216
|
+
.map((t, i) => (t === 'line' ? i : -1))
|
|
2217
|
+
.filter((i) => i >= 0);
|
|
2218
|
+
const arcIdx = tTypes
|
|
2219
|
+
.map((t, i) => (t === 'line' ? -1 : i))
|
|
2220
|
+
.filter((i) => i >= 0);
|
|
2221
|
+
if (straightIdx.length !== 4 || arcIdx.length !== 4) {
|
|
2222
|
+
throw new Error(`[cq-compat] extrude: outward taper top wire misclassified (${straightIdx.length} straight / ${arcIdx.length} arc)`);
|
|
2223
|
+
}
|
|
2224
|
+
// Match each bottom edge to the parallel straight top edge (arc-join offset
|
|
2225
|
+
// preserves edge directions); the bottom edge's end vertex is the corner apex.
|
|
2226
|
+
const tEnds = straightIdx.map((i) => ends(tEdges[i]));
|
|
2227
|
+
const matches = new Array(4).fill(-1);
|
|
2228
|
+
const eps = 1e-6;
|
|
2229
|
+
for (let i = 0; i < 4; i++) {
|
|
2230
|
+
const d = { x: bEnds[i].b.x - bEnds[i].a.x, y: bEnds[i].b.y - bEnds[i].a.y };
|
|
2231
|
+
for (let j = 0; j < 4; j++) {
|
|
2232
|
+
if (matches.includes(j))
|
|
2233
|
+
continue;
|
|
2234
|
+
const td = { x: tEnds[j].b.x - tEnds[j].a.x, y: tEnds[j].b.y - tEnds[j].a.y };
|
|
2235
|
+
const cross = d.x * td.y - d.y * td.x;
|
|
2236
|
+
const dot = d.x * td.x + d.y * td.y;
|
|
2237
|
+
if (Math.abs(cross) < eps * Math.max(1, Math.hypot(d.x, d.y) * Math.hypot(td.x, td.y)) && dot > 0) {
|
|
2238
|
+
matches[i] = j;
|
|
2239
|
+
break;
|
|
2240
|
+
}
|
|
2241
|
+
}
|
|
2242
|
+
}
|
|
2243
|
+
if (matches.some((m) => m < 0)) {
|
|
2244
|
+
throw new Error('[cq-compat] extrude: outward taper could not match side edges');
|
|
2245
|
+
}
|
|
2246
|
+
// 4. sew the 10 faces
|
|
2247
|
+
const faces = [bottomFace, topFace];
|
|
2248
|
+
for (let i = 0; i < 4; i++) {
|
|
2249
|
+
const bp = bEnds[i];
|
|
2250
|
+
const tp = tEnds[matches[i]];
|
|
2251
|
+
// side plane: bottom edge + (bottom end -> top end) + REVERSED top edge
|
|
2252
|
+
// (top end -> top start) + (top start -> bottom start). Using the kernel
|
|
2253
|
+
// top edge's own direction would break the wire's head-to-tail continuity
|
|
2254
|
+
// (the previous edge ends at the top END), so the reversed segment is
|
|
2255
|
+
// built explicitly — verified against the probe construction.
|
|
2256
|
+
faces.push(k.makeFace(k.makeWire([
|
|
2257
|
+
bEdges[i],
|
|
2258
|
+
k.makeLineEdge(bp.b, tp.b),
|
|
2259
|
+
k.makeLineEdge(tp.b, tp.a),
|
|
2260
|
+
k.makeLineEdge(tp.a, bp.a),
|
|
2261
|
+
])));
|
|
2262
|
+
// conical corner face: generatrix (apex = bottom edge end) -> arc edge end, revolved 90°
|
|
2263
|
+
const arcE = tEdges[arcIdx[i]];
|
|
2264
|
+
const arcEnds = ends(arcE);
|
|
2265
|
+
const apex = { x: bp.b.x, y: bp.b.y, z: z0 };
|
|
2266
|
+
// Generatrix to the arc's DOWNSTREAM end (last param): sweeping +90° about
|
|
2267
|
+
// +Z from the downstream direction covers the corner's arc quadrant exactly
|
|
2268
|
+
// (verified: `arcStart` here is (100,-off) for corner (100,0), i.e. the -Y
|
|
2269
|
+
// side, sweeping -Y -> +X). Using the upstream end would sweep into the
|
|
2270
|
+
// wrong quadrant.
|
|
2271
|
+
faces.push(k.revolve(k.makeLineEdge(apex, arcEnds.b), { point: apex, direction: { x: 0, y: 0, z: 1 } }, Math.PI / 2));
|
|
2272
|
+
}
|
|
2273
|
+
const shell = k.sew(faces, 1e-2);
|
|
2274
|
+
let solid = k.makeSolid(shell);
|
|
2275
|
+
const fixed = k.fixFaceOrientations(solid);
|
|
2276
|
+
if (k.isSolid(fixed))
|
|
2277
|
+
solid = fixed;
|
|
2278
|
+
const prism = fromHandle(solid);
|
|
2279
|
+
const shape = combine === false || !base ? prism : await fuseShapes(base, prism);
|
|
2280
|
+
return clone(wp, {
|
|
2281
|
+
shape,
|
|
2282
|
+
pendingWires: [],
|
|
2283
|
+
pendingPolygon: undefined,
|
|
2284
|
+
pendingRect: undefined,
|
|
2285
|
+
pendingCircle: undefined,
|
|
2286
|
+
faceSel: null,
|
|
2287
|
+
edgeSel: null,
|
|
2288
|
+
vertexSel: null,
|
|
2289
|
+
pts: [],
|
|
2290
|
+
});
|
|
2291
|
+
}
|
|
2133
2292
|
/**
|
|
2134
2293
|
* revolve — CadQuery `Workplane.revolve` parity.
|
|
2135
2294
|
*
|
|
@@ -2525,6 +2684,217 @@ export async function threadedHole(wp, diameterOrFastener, depth) {
|
|
|
2525
2684
|
const diameter = typeof diameterOrFastener === 'number' ? diameterOrFastener : 5;
|
|
2526
2685
|
return hole(wp, diameter, depth);
|
|
2527
2686
|
}
|
|
2687
|
+
/**
|
|
2688
|
+
* faces
|
|
2689
|
+
* @param wp - Workplane
|
|
2690
|
+
* @param sel - string
|
|
2691
|
+
* @returns Workplane
|
|
2692
|
+
*/
|
|
2693
|
+
// ── Phase 3: siblings(CadQuery Shape.siblings 拓扑邻接语义)────────────
|
|
2694
|
+
//
|
|
2695
|
+
// 语义(对照 cadquery 2.8.0 occ_impl/shapes.py::siblings):
|
|
2696
|
+
// siblings(ctx, kind, level) = 从起点实体出发,沿「kind 子实体共享」的拓扑
|
|
2697
|
+
// 邻接走 level 步。每一步:当前集合的每个实体 → 其 kind 子实体 → 每个子实体
|
|
2698
|
+
// 的 ancestors(inverse 类型,TopExp.MapShapesAndAncestors)→ 去重。
|
|
2699
|
+
// kind=Edge → Face 网络(face 的边 → 边所属的面);kind=Vertex → Edge 网络。
|
|
2700
|
+
// level 可为 int(单层)或 tuple(各层结果并集,每层独立 exclude)。
|
|
2701
|
+
// faijs lineage 是语句级构造历史,与 CQ 拓扑图不同——此处按拓扑邻接实现,
|
|
2702
|
+
// 不接 lineage(Phase 3 风险注记的既定决策)。
|
|
2703
|
+
/** 实体 bbox 中心(方向/极值判定)。 */
|
|
2704
|
+
function handleCenter(kernel, h) {
|
|
2705
|
+
const bb = kernel.getBoundingBox(h);
|
|
2706
|
+
return [(bb.xmin + bb.xmax) / 2, (bb.ymin + bb.ymax) / 2, (bb.zmin + bb.zmax) / 2];
|
|
2707
|
+
}
|
|
2708
|
+
/** 实体 bbox 尺寸。 */
|
|
2709
|
+
function handleExtents(kernel, h) {
|
|
2710
|
+
const bb = kernel.getBoundingBox(h);
|
|
2711
|
+
return [bb.xmax - bb.xmin, bb.ymax - bb.ymin, bb.zmax - bb.zmin];
|
|
2712
|
+
}
|
|
2713
|
+
const SIBLING_AXIS = {
|
|
2714
|
+
'>Z': { axis: 2, sign: 1 }, '+Z': { axis: 2, sign: 1 },
|
|
2715
|
+
'<Z': { axis: 2, sign: -1 }, '-Z': { axis: 2, sign: -1 },
|
|
2716
|
+
'>X': { axis: 0, sign: 1 }, '+X': { axis: 0, sign: 1 },
|
|
2717
|
+
'<X': { axis: 0, sign: -1 }, '-X': { axis: 0, sign: -1 },
|
|
2718
|
+
'>Y': { axis: 1, sign: 1 }, '+Y': { axis: 1, sign: 1 },
|
|
2719
|
+
'<Y': { axis: 1, sign: -1 }, '-Y': { axis: 1, sign: -1 },
|
|
2720
|
+
};
|
|
2721
|
+
/** 字符串选择器 → face handles(起点解析用;语义对齐 resolveFaceSelector)。 */
|
|
2722
|
+
function selectFaceHandles(kernel, shapeH, sel) {
|
|
2723
|
+
const s = NAMED_VIEW_TO_AXIS[sel.trim().toLowerCase()] ?? sel;
|
|
2724
|
+
const baseSel = s.replace(/\[-?\d+\]$/, '');
|
|
2725
|
+
const dir = SIBLING_AXIS[baseSel];
|
|
2726
|
+
if (!dir)
|
|
2727
|
+
throw new Error(`[cq-compat] siblings: unsupported face selector "${sel}"`);
|
|
2728
|
+
const faces = kernel.getSubShapes(shapeH, 'face');
|
|
2729
|
+
const cands = faces.map((h) => ({ h, c: handleCenter(kernel, h), ext: handleExtents(kernel, h) }));
|
|
2730
|
+
// 仅垂直于方向的面参与(bbox 沿该轴薄)
|
|
2731
|
+
const perp = cands.filter((cd) => cd.ext[dir.axis] <= 0.1);
|
|
2732
|
+
if (perp.length === 0)
|
|
2733
|
+
throw new Error(`[cq-compat] siblings: no face perpendicular to "${sel}"`);
|
|
2734
|
+
const idxMatch = /\[(-?\d+)\]$/.exec(s.trim());
|
|
2735
|
+
if (idxMatch) {
|
|
2736
|
+
const asc = baseSel[0] === '>' || baseSel[0] === '-';
|
|
2737
|
+
const sorted = perp
|
|
2738
|
+
.slice()
|
|
2739
|
+
.sort((a, b) => (asc ? a.c[dir.axis] - b.c[dir.axis] : b.c[dir.axis] - a.c[dir.axis]));
|
|
2740
|
+
let k = parseInt(idxMatch[1], 10);
|
|
2741
|
+
k = k < 0 ? sorted.length + k : k;
|
|
2742
|
+
if (k < 0 || k >= sorted.length) {
|
|
2743
|
+
throw new Error(`[cq-compat] siblings: face index ${k} out of range (${sorted.length})`);
|
|
2744
|
+
}
|
|
2745
|
+
return [sorted[k].h];
|
|
2746
|
+
}
|
|
2747
|
+
// DirectionMinMax:极值单面(并列取面积大者,与 resolveFaceSelector 同规则)
|
|
2748
|
+
let best = perp[0];
|
|
2749
|
+
for (const cd of perp) {
|
|
2750
|
+
const val = cd.c[dir.axis];
|
|
2751
|
+
const bv = best.c[dir.axis];
|
|
2752
|
+
if (dir.sign === 1 ? val > bv + 1e-6 : val < bv - 1e-6)
|
|
2753
|
+
best = cd;
|
|
2754
|
+
else if (Math.abs(val - bv) <= 1e-6 && kernel.getSurfaceArea(cd.h) > kernel.getSurfaceArea(best.h))
|
|
2755
|
+
best = cd;
|
|
2756
|
+
}
|
|
2757
|
+
return [best.h];
|
|
2758
|
+
}
|
|
2759
|
+
/** 字符串选择器 → edge handles。'>A'/'<A':方向极值(该方向所有极值边);
|
|
2760
|
+
* '|A':与轴平行的边(bbox 主导维度为 A)。'[k]' 索引支持。 */
|
|
2761
|
+
function selectEdgeHandles(kernel, shapeH, sel) {
|
|
2762
|
+
const s = NAMED_VIEW_TO_AXIS[sel.trim().toLowerCase()] ?? sel;
|
|
2763
|
+
const baseSel = s.replace(/\[-?\d+\]$/, '');
|
|
2764
|
+
const edges = kernel.getSubShapes(shapeH, 'edge');
|
|
2765
|
+
const idxMatch = /\[(-?\d+)\]$/.exec(s.trim());
|
|
2766
|
+
const pickIdx = (list) => {
|
|
2767
|
+
if (!idxMatch)
|
|
2768
|
+
return list;
|
|
2769
|
+
let k = parseInt(idxMatch[1], 10);
|
|
2770
|
+
k = k < 0 ? list.length + k : k;
|
|
2771
|
+
if (k < 0 || k >= list.length) {
|
|
2772
|
+
throw new Error(`[cq-compat] siblings: edge index ${k} out of range (${list.length})`);
|
|
2773
|
+
}
|
|
2774
|
+
return [list[k]];
|
|
2775
|
+
};
|
|
2776
|
+
if (baseSel[0] === '|') {
|
|
2777
|
+
const axis = baseSel[1];
|
|
2778
|
+
const ai = axis === 'X' ? 0 : axis === 'Y' ? 1 : 2;
|
|
2779
|
+
const par = edges.filter((h) => {
|
|
2780
|
+
const ext = handleExtents(kernel, h);
|
|
2781
|
+
return ext[ai] > 1e-6 && ext[(ai + 1) % 3] < 1e-6 && ext[(ai + 2) % 3] < 1e-6;
|
|
2782
|
+
});
|
|
2783
|
+
return pickIdx(par);
|
|
2784
|
+
}
|
|
2785
|
+
const dir = SIBLING_AXIS[baseSel];
|
|
2786
|
+
if (!dir)
|
|
2787
|
+
throw new Error(`[cq-compat] siblings: unsupported edge selector "${sel}"`);
|
|
2788
|
+
const pts = edges.map((h) => ({ h, c: handleCenter(kernel, h) }));
|
|
2789
|
+
const best = dir.sign === 1
|
|
2790
|
+
? Math.max(...pts.map((p) => p.c[dir.axis]))
|
|
2791
|
+
: Math.min(...pts.map((p) => p.c[dir.axis]));
|
|
2792
|
+
const extreme = pts.filter((p) => Math.abs(p.c[dir.axis] - best) < 1e-6).map((p) => p.h);
|
|
2793
|
+
return pickIdx(extreme);
|
|
2794
|
+
}
|
|
2795
|
+
/** 一步拓扑邻接:h 的 kind 子实体 → 每个子实体的 ancestors(inverse 类型)。
|
|
2796
|
+
* O(n×m):ctx 实体数量级小(box 6 面 12 边 8 顶点),不做索引缓存。 */
|
|
2797
|
+
function siblingStep(kernel, ctxH, h, kindLower, invLower) {
|
|
2798
|
+
const children = kernel.getSubShapes(h, kindLower);
|
|
2799
|
+
const invs = kernel.getSubShapes(ctxH, invLower);
|
|
2800
|
+
const out = new Set();
|
|
2801
|
+
for (const child of children) {
|
|
2802
|
+
for (const inv of invs) {
|
|
2803
|
+
const invChildren = kernel.getSubShapes(inv, kindLower);
|
|
2804
|
+
// GOTCHA(Phase 3 实测,cadquery 2.8.0 拓扑语义):OCCT 中共享边/顶点
|
|
2805
|
+
// 是「同一 TShape 不同 TopoDS 句柄」——两个 face 各自枚举出的共享边
|
|
2806
|
+
// handle id 不同(location/表层封装差异),=== 匹配恒 false。CQ 的
|
|
2807
|
+
// MapShapesAndAncestors 用 IsSame 判拓扑相等,此处必须用 kernel.isSame。
|
|
2808
|
+
for (const ic of invChildren) {
|
|
2809
|
+
if (kernel.isSame(ic, child)) {
|
|
2810
|
+
out.add(inv);
|
|
2811
|
+
break;
|
|
2812
|
+
}
|
|
2813
|
+
}
|
|
2814
|
+
}
|
|
2815
|
+
}
|
|
2816
|
+
return [...out];
|
|
2817
|
+
}
|
|
2818
|
+
/** 解析 siblings 起点实体:Workplane 的 faceSel/edgeSel 优先,否则 shape 本身。 */
|
|
2819
|
+
function resolveSiblingStarts(kernel, ctxH, start) {
|
|
2820
|
+
const wp = start;
|
|
2821
|
+
if (wp && wp.__cq === true) {
|
|
2822
|
+
if (wp.faceSel)
|
|
2823
|
+
return selectFaceHandles(kernel, ctxH, wp.faceSel).map((h) => h);
|
|
2824
|
+
if (wp.edgeSel)
|
|
2825
|
+
return selectEdgeHandles(kernel, ctxH, wp.edgeSel).map((h) => h);
|
|
2826
|
+
const sh = wp.shape ? brepOf(asBrepShape(wp.shape)) : undefined;
|
|
2827
|
+
return sh ? [sh] : [];
|
|
2828
|
+
}
|
|
2829
|
+
const sh = brepOf(asBrepShape(start));
|
|
2830
|
+
return sh ? [sh] : [];
|
|
2831
|
+
}
|
|
2832
|
+
/**
|
|
2833
|
+
* siblings — CadQuery Shape.siblings:拓扑邻接选择(Phase 3)。
|
|
2834
|
+
* @param start - 起点(Workplane 带 faceSel/edgeSel,或 Shape)。
|
|
2835
|
+
* @param ctxShape - 邻接搜索的容器 shape(CadQuery 的 ctx)。
|
|
2836
|
+
* @param kind - 链接实体类型:'Edge'(返回面网络)| 'Vertex'(返回边网络)| 'Face'。
|
|
2837
|
+
* @param level - 拓扑距离:int 或 int 数组(各层并集,每层独立排除)。
|
|
2838
|
+
* @returns Promise<Workplane> 选中的实体集合(shape = 实体 compound;空集返回空 compound)。
|
|
2839
|
+
*/
|
|
2840
|
+
export async function siblings(start, ctxShape, kind, level) {
|
|
2841
|
+
const kernel = getKernel();
|
|
2842
|
+
const ctx = asBrepShape(resolveInputShape(ctxShape));
|
|
2843
|
+
const ctxH = brepOf(ctx);
|
|
2844
|
+
if (!ctxH)
|
|
2845
|
+
throw new Error('[cq-compat] siblings: ctx shape has no BREP handle');
|
|
2846
|
+
const kindLower = kind.toLowerCase();
|
|
2847
|
+
const startEnts = resolveSiblingStarts(kernel, ctxH, start);
|
|
2848
|
+
if (startEnts.length === 0) {
|
|
2849
|
+
throw new Error('[cq-compat] siblings: no starting entity resolvable');
|
|
2850
|
+
}
|
|
2851
|
+
// CQ:Ancestor = shapetype(self),输出类型随起点实体动态变化。起点经
|
|
2852
|
+
// getShapeType 判定;compound/其他类型兜底 'face'(Shape.siblings 的
|
|
2853
|
+
// self 在 test_* 中为 face/edge,compound 起点无合法 Ancestor 语义)。
|
|
2854
|
+
const startType = kernel.getShapeType(startEnts[0]);
|
|
2855
|
+
const invLower = startType === 'edge' || startType === 'vertex' ? startType : 'face';
|
|
2856
|
+
const levels = (Array.isArray(level) ? level : [level])
|
|
2857
|
+
.map(Number)
|
|
2858
|
+
.filter((l) => Number.isFinite(l) && l >= 1);
|
|
2859
|
+
// GOTCHA(Phase 3 实测):occt-wasm 的 getSubShapes 每次调用为同一拓扑
|
|
2860
|
+
// 实体分配新的 handle id(f1=[2..7], f2=[8..13]),id 相等性不能表达
|
|
2861
|
+
// 拓扑相等。所有去重/排除判断一律用 kernel.isSame(同 CQ 的
|
|
2862
|
+
// MapShapesAndAncestors IsSame 语义)。
|
|
2863
|
+
const isSameHandle = (a, b) => kernel.isSame(a, b);
|
|
2864
|
+
const inList = (list, h) => list.some((x) => isSameHandle(x, h));
|
|
2865
|
+
const out = [];
|
|
2866
|
+
for (const lvl of levels) {
|
|
2867
|
+
// CQ 的 exclude 语义(occ_impl/shapes.py::siblings):闭包累积,每层递归
|
|
2868
|
+
// 开始时把「上一层结果」整体加入 exclude;层内所有实体共享同一 exclude,
|
|
2869
|
+
// 不会因遍历顺序提前放行同层邻居(否则 4 侧面环会把 A2/A3 漏进 level 2)。
|
|
2870
|
+
const visited = [...startEnts];
|
|
2871
|
+
let frontier = startEnts;
|
|
2872
|
+
for (let i = 0; i < lvl; i++) {
|
|
2873
|
+
const next = [];
|
|
2874
|
+
for (const h of frontier) {
|
|
2875
|
+
for (const n of siblingStep(kernel, ctxH, h, kindLower, invLower)) {
|
|
2876
|
+
if (!inList(visited, n))
|
|
2877
|
+
next.push(n);
|
|
2878
|
+
}
|
|
2879
|
+
}
|
|
2880
|
+
for (const n of next)
|
|
2881
|
+
if (!inList(visited, n))
|
|
2882
|
+
visited.push(n);
|
|
2883
|
+
if (next.length === 0)
|
|
2884
|
+
break;
|
|
2885
|
+
frontier = next;
|
|
2886
|
+
}
|
|
2887
|
+
for (const h of frontier)
|
|
2888
|
+
if (!inList(startEnts, h))
|
|
2889
|
+
out.push(h);
|
|
2890
|
+
}
|
|
2891
|
+
const uniq = [];
|
|
2892
|
+
for (const h of out)
|
|
2893
|
+
if (!uniq.some((x) => isSameHandle(x, h)))
|
|
2894
|
+
uniq.push(h);
|
|
2895
|
+
const compound = uniq.length === 0 ? await cad.compound({ members: [] }) : await cad.compound({ members: uniq.map((h) => fromHandle(h)) });
|
|
2896
|
+
return clone(makeWorkplane('XY'), { shape: compound });
|
|
2897
|
+
}
|
|
2528
2898
|
/**
|
|
2529
2899
|
* faces
|
|
2530
2900
|
* @param wp - Workplane
|
|
@@ -2534,6 +2904,55 @@ export async function threadedHole(wp, diameterOrFastener, depth) {
|
|
|
2534
2904
|
export function faces(wp, sel) {
|
|
2535
2905
|
return clone(wp, { faceSel: sel, edgeSel: null, vertexSel: null });
|
|
2536
2906
|
}
|
|
2907
|
+
/**
|
|
2908
|
+
* tag — CadQuery Workplane.tag(name) parity (dataflow carrier).
|
|
2909
|
+
*
|
|
2910
|
+
* Upstream records the current workplane state (origin/xDir/normal + current
|
|
2911
|
+
* objects) under a name so a later workplaneFromTagged can jump back to it.
|
|
2912
|
+
* The faijs carrier keeps a snapshot of the plane frame and the carried
|
|
2913
|
+
* shape; the tagged objects stay the current shape's sub-shapes.
|
|
2914
|
+
*
|
|
2915
|
+
* @param wp - Workplane to mark
|
|
2916
|
+
* @param name - Tag name
|
|
2917
|
+
* @returns Workplane carrying the tag snapshot
|
|
2918
|
+
*/
|
|
2919
|
+
export function tag(wp, name) {
|
|
2920
|
+
return clone(wp, {
|
|
2921
|
+
tags: {
|
|
2922
|
+
...(wp.tags ?? {}),
|
|
2923
|
+
[name]: { origin: wp.origin, xDir: wp.xDir, normal: wp.normal, shape: wp.shape },
|
|
2924
|
+
},
|
|
2925
|
+
});
|
|
2926
|
+
}
|
|
2927
|
+
/**
|
|
2928
|
+
* workplaneFromTagged — CadQuery Workplane.workplaneFromTagged(name) parity.
|
|
2929
|
+
*
|
|
2930
|
+
* Restores the workplane frame (origin/xDir/normal) and carried shape captured
|
|
2931
|
+
* by an earlier ag(name). Points/selectors are reset (upstream jumps back
|
|
2932
|
+
* to the tagged plane with an empty stack).
|
|
2933
|
+
*
|
|
2934
|
+
* @param wp - Workplane carrying the tags
|
|
2935
|
+
* @param name - Tag name to restore
|
|
2936
|
+
* @returns Workplane restored to the tagged plane
|
|
2937
|
+
*/
|
|
2938
|
+
export function workplaneFromTagged(wp, name) {
|
|
2939
|
+
const saved = wp.tags?.[name];
|
|
2940
|
+
if (!saved)
|
|
2941
|
+
throw new Error('workplaneFromTagged: tag ' + name + ' not found');
|
|
2942
|
+
// Upstream Workplane.workplaneFromTagged calls _fromPlane, which keeps
|
|
2943
|
+
// the CURRENT objects (carried shape) and only swaps the plane frame
|
|
2944
|
+
// (origin/xDir/normal). Restoring the saved shape would drop any solids
|
|
2945
|
+
// built since the tag (verified vs cadquery 2.8.0 testWorkplaneFromTagged).
|
|
2946
|
+
return clone(wp, {
|
|
2947
|
+
origin: saved.origin,
|
|
2948
|
+
xDir: saved.xDir,
|
|
2949
|
+
normal: saved.normal,
|
|
2950
|
+
pts: [],
|
|
2951
|
+
faceSel: null,
|
|
2952
|
+
edgeSel: null,
|
|
2953
|
+
vertexSel: null,
|
|
2954
|
+
});
|
|
2955
|
+
}
|
|
2537
2956
|
/**
|
|
2538
2957
|
* edges
|
|
2539
2958
|
* @param wp - Workplane
|
|
@@ -2710,7 +3129,7 @@ export function pushPoints(wp, pts) {
|
|
|
2710
3129
|
export async function translate(wp, v) {
|
|
2711
3130
|
if (!wp.shape)
|
|
2712
3131
|
return clone(wp, { origin: vadd(wp.origin, v) });
|
|
2713
|
-
const shape = await cad.translate(wp
|
|
3132
|
+
const shape = await cad.translate(resolveInputShape(wp), { offset: v });
|
|
2714
3133
|
return clone(wp, { shape, origin: vadd(wp.origin, v) });
|
|
2715
3134
|
}
|
|
2716
3135
|
/**
|
|
@@ -2728,7 +3147,7 @@ export async function rotate(wp, axis, angle) {
|
|
|
2728
3147
|
axis[1] * angle,
|
|
2729
3148
|
axis[2] * angle,
|
|
2730
3149
|
];
|
|
2731
|
-
const shape = await cad.rotate_euler(wp
|
|
3150
|
+
const shape = await cad.rotate_euler(resolveInputShape(wp), { anglesDeg });
|
|
2732
3151
|
return clone(wp, { shape });
|
|
2733
3152
|
}
|
|
2734
3153
|
/**
|
|
@@ -2787,7 +3206,7 @@ export async function mirror(wp, mirrorPlane, basePointVector, union) {
|
|
|
2787
3206
|
normal = MIRROR_PLANE_NORMALS[key] ?? [0, 0, 1];
|
|
2788
3207
|
at = basePointVector ?? [0, 0, 0];
|
|
2789
3208
|
}
|
|
2790
|
-
const mirrored = await cad.mirror(wp
|
|
3209
|
+
const mirrored = await cad.mirror(resolveInputShape(wp), { normal, at });
|
|
2791
3210
|
const shape = union ? await fuseShapes(wp.shape, mirrored) : mirrored;
|
|
2792
3211
|
// Upstream returns a newObject stack holding only the mirrored/unioned
|
|
2793
3212
|
// objects — pending selectors do not survive a mirror.
|
|
@@ -3131,7 +3550,7 @@ export async function moved(wp, ...locs) {
|
|
|
3131
3550
|
const resolved = toLocations(locs);
|
|
3132
3551
|
const copies = [];
|
|
3133
3552
|
for (const l of resolved)
|
|
3134
|
-
copies.push(await applyLocation(wp
|
|
3553
|
+
copies.push(await applyLocation(resolveInputShape(wp), l));
|
|
3135
3554
|
let shape;
|
|
3136
3555
|
if (copies.length === 0) {
|
|
3137
3556
|
shape = wp.shape;
|
|
@@ -3211,7 +3630,7 @@ export async function cut(wp, other) {
|
|
|
3211
3630
|
const otherShape = 'shape' in other ? other.shape : other;
|
|
3212
3631
|
if (!otherShape)
|
|
3213
3632
|
return wp;
|
|
3214
|
-
const shape = await cad.subtract(wp
|
|
3633
|
+
const shape = await cad.subtract(resolveInputShape(wp), resolveInputShape(other));
|
|
3215
3634
|
return clone(wp, { shape });
|
|
3216
3635
|
}
|
|
3217
3636
|
/**
|