forgecad 0.10.4 → 0.10.5
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/assets/{AdminPage-B3L3W1Uo.js → AdminPage-raksfnNA.js} +1 -1
- package/dist/assets/{BenchmarkPage-DXKVXMrJ.js → BenchmarkPage-DP3RxhPs.js} +2 -2
- package/dist/assets/{BlogPage-B7BWxOCg.js → BlogPage-D7Dos-vl.js} +1 -1
- package/dist/assets/{DocsPage-BPGGwht1.js → DocsPage-DO1kvBns.js} +7 -1
- package/dist/assets/{EditorApp-BWUGCdD5.js → EditorApp-DQJmcmRT.js} +9 -8
- package/dist/assets/{EmbedViewer-DygByZS2.js → EmbedViewer-DFDUhOma.js} +2 -2
- package/dist/assets/{LandingPageProofDriven-BoVE7JGY.js → LandingPageProofDriven-DbE_tp8-.js} +2 -2
- package/dist/assets/{LegalPage-Din8wv8d.js → LegalPage-CominSso.js} +2 -2
- package/dist/assets/{PricingPage-C2PMzmDc.js → PricingPage-CcVIN9yj.js} +2 -2
- package/dist/assets/{SettingsPage-BlJDCRe8.js → SettingsPage-DLWcP289.js} +1 -1
- package/dist/assets/{app-BsRYSfxY.js → app-xW3hOdq9.js} +1135 -320
- package/dist/assets/{backendInit-6C0DLgH0.js → backendInit-mDHk97u7.js} +6630 -2493
- package/dist/assets/cli/{render-XXol_ET7.js → render--SIU27W_.js} +1263 -112
- package/dist/assets/{constructionHistoryWorker-cTHWRJEi.js → constructionHistoryWorker-uEe_Q7Kg.js} +1861 -610
- package/dist/assets/{evalWorker-BssDYW9u.js → evalWorker-BqyDHDcI.js} +6254 -2177
- package/dist/assets/{forgecad_geometry-CZ_IfuvA.js → forgecad_geometry-D8rWX7nQ.js} +1 -1
- package/dist/assets/{forgecad_geometry_bg-C3rQHfwg.wasm → forgecad_geometry_bg-ObqfqjJT.wasm} +0 -0
- package/dist/assets/{inspectWorker-ymhBV4Ll.js → inspectWorker-UXMxlcR8.js} +2738 -742
- package/dist/assets/{jointPose-B0blBj9A.js → jointPose-bYMlwU3v.js} +1 -1
- package/dist/assets/{landing-proof-driven-Cpf-MIbI.css → landing-proof-driven-_u4v_xQb.css} +2 -2
- package/dist/assets/{manifold-B_7QXpGB.js → manifold-BR7UYI4P.js} +1 -1
- package/dist/assets/{manifold-CYlIm-M6.js → manifold-CyOV5B9S.js} +2 -2
- package/dist/assets/{manifold-CNShmpEJ.js → manifold-D4d5NQst.js} +1 -1
- package/dist/assets/{reportWorker-Cb5eyM7D.js → reportWorker-DsaICZsn.js} +6010 -2032
- package/dist/cli/render.html +1 -1
- package/dist/docs/index.html +2 -2
- package/dist/docs-raw/CLI.md +4 -2
- package/dist/docs-raw/generated/assembly.md +76 -3
- package/dist/docs-raw/generated/concepts.md +31 -4
- package/dist/docs-raw/generated/core.md +159 -21
- package/dist/docs-raw/generated/curves.md +344 -6
- package/dist/docs-raw/generated/runtime-names.md +12 -12
- package/dist/docs-raw/generated/sketch.md +16 -3
- package/dist/docs-raw/guides/inspection-bundles.md +4 -2
- package/dist/docs-raw/guides/structural-fea.md +224 -0
- package/dist/docs-raw/skills/forgecad.md +1 -0
- package/dist/index.html +1 -1
- package/dist/sitemap.xml +15 -15
- package/dist-cli/{check-compiler-4RPB6SB5.js → check-compiler-7YAHVXYM.js} +1 -1
- package/dist-cli/{check-query-propagation-KN3DFQTX.js → check-query-propagation-ZRR6IOJW.js} +1 -1
- package/dist-cli/{chunk-UHBRMYA6.js → chunk-VNM67DIV.js} +6489 -2333
- package/dist-cli/forgecad.js +5258 -717
- package/dist-cli/forgecad_geometry_bg.wasm +0 -0
- package/dist-skill/CONTEXT.md +827 -45
- package/dist-skill/SKILL.md +1 -0
- package/dist-skill/docs/CLI.md +4 -2
- package/dist-skill/docs/generated/assembly.md +73 -3
- package/dist-skill/docs/generated/core.md +159 -21
- package/dist-skill/docs/generated/curves.md +343 -6
- package/dist-skill/docs/generated/runtime-names.md +12 -12
- package/dist-skill/docs/generated/sketch.md +16 -3
- package/dist-skill/docs/guides/inspection-bundles.md +4 -2
- package/dist-skill/docs/guides/structural-fea.md +224 -0
- package/dist-skill/website/skills/forgecad.md +1 -0
- package/examples/analysis/structural-stress-fea.forge.js +19 -0
- package/examples/api/blend-full-round.forge.js +37 -0
- package/examples/api/blend-variable-radius.forge.js +51 -0
- package/examples/api/curve-project-and-intersect.forge.js +59 -0
- package/examples/api/extrude-up-to-face.forge.js +47 -0
- package/examples/api/spoon-full-tang-handle.forge.js +148 -0
- package/examples/api/surface-boundarynet-dished-bowl.forge.js +63 -0
- package/examples/api/surface-fill-interior-constraints.forge.js +59 -0
- package/package.json +4 -1
- /package/dist/assets/{landing-proof-driven-BxZZh5r5.js → landing-proof-driven-DNPRKL_p.js} +0 -0
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* n-sided filled surface pulled onto interior features with `Surface.Fill`.
|
|
3
|
+
*
|
|
4
|
+
* `Surface.Fill` already fills any closed loop of n >= 3 boundary curves
|
|
5
|
+
* (energy-minimizing constrained fill on the OCCT backend). Two optional fields
|
|
6
|
+
* shape the INTERIOR of that fill without changing the rim:
|
|
7
|
+
*
|
|
8
|
+
* - `through` — interior constraint curves the surface must pass through. They
|
|
9
|
+
* are NOT part of the boundary loop; they pull the fill onto an internal
|
|
10
|
+
* feature line (here, a raised diagonal spine/crease).
|
|
11
|
+
* - `points` — isolated interior points the surface must interpolate (here, a
|
|
12
|
+
* single pinned bump lifted above the rim plane).
|
|
13
|
+
*
|
|
14
|
+
* The result is an open sheet, so `.thicken()` turns it into a thin solid.
|
|
15
|
+
* (Interior constraints require the default OCCT exact backend.)
|
|
16
|
+
*/
|
|
17
|
+
|
|
18
|
+
scene({
|
|
19
|
+
camera: { position: [120, -150, 110], target: [25, 25, 6], fov: 32 },
|
|
20
|
+
environment: { preset: 'studio' },
|
|
21
|
+
});
|
|
22
|
+
|
|
23
|
+
// A near-planar pentagon rim at z = 0 (five corners, five exact edges).
|
|
24
|
+
const corners = [
|
|
25
|
+
[0, 0, 0],
|
|
26
|
+
[50, 0, 0],
|
|
27
|
+
[62, 38, 0],
|
|
28
|
+
[25, 60, 0],
|
|
29
|
+
[-12, 38, 0],
|
|
30
|
+
];
|
|
31
|
+
|
|
32
|
+
function edge(a, b) {
|
|
33
|
+
return Curve.Fit([corners[a], corners[b]]);
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
const boundaries = [
|
|
37
|
+
{ name: 'a', curve: edge(0, 1) },
|
|
38
|
+
{ name: 'b', curve: edge(1, 2) },
|
|
39
|
+
{ name: 'c', curve: edge(2, 3) },
|
|
40
|
+
{ name: 'd', curve: edge(3, 4) },
|
|
41
|
+
{ name: 'e', curve: edge(4, 0) },
|
|
42
|
+
];
|
|
43
|
+
|
|
44
|
+
// Interior crease the fill must ride over: a raised diagonal spine.
|
|
45
|
+
const spine = Curve.Fit([
|
|
46
|
+
[8, 8, 3],
|
|
47
|
+
[28, 30, 7],
|
|
48
|
+
[50, 48, 3],
|
|
49
|
+
]);
|
|
50
|
+
|
|
51
|
+
const skin = Surface.Fill({
|
|
52
|
+
boundaries,
|
|
53
|
+
through: [{ curve: spine }], // pull the fill onto the internal feature line
|
|
54
|
+
points: [[22, 14, 6]], // pin an interior bump above the rim plane
|
|
55
|
+
}).thicken(1.2);
|
|
56
|
+
|
|
57
|
+
skin.color('#bcd0d8');
|
|
58
|
+
|
|
59
|
+
return skin;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "forgecad",
|
|
3
|
-
"version": "0.10.
|
|
3
|
+
"version": "0.10.5",
|
|
4
4
|
"description": "Code-first parametric CAD for JavaScript/TypeScript, in the browser and CLI.",
|
|
5
5
|
"license": "SEE LICENSE IN LICENSE",
|
|
6
6
|
"homepage": "https://forgecad.io",
|
|
@@ -44,6 +44,9 @@
|
|
|
44
44
|
"export": {
|
|
45
45
|
"description": "Export Forge models to manufacturing, simulation, and exchange formats."
|
|
46
46
|
},
|
|
47
|
+
"fea": {
|
|
48
|
+
"description": "Run, inspect, render, compare, and check structural FEA studies."
|
|
49
|
+
},
|
|
47
50
|
"inspect": {
|
|
48
51
|
"description": "Inspect ForgeCAD models with targeted visual, physical, and manufacturing evidence."
|
|
49
52
|
},
|
|
File without changes
|