From 418e6861f9448e23d11be7ac0b24c63de9e237ed Mon Sep 17 00:00:00 2001 From: Severin Ibarluzea Date: Tue, 1 Oct 2024 14:45:26 -0700 Subject: [PATCH] Improve README, Support for 3d Components generated by footprint (#23) * deploy to vercel, add links to README * trick out readme * 3d models from cad components now work * fix type errors --- bun.lockb | Bin 430875 -> 433163 bytes package.json | 7 ++-- src/CadViewer.tsx | 19 +++++++++++ src/main.tsx | 5 +-- src/three-components/FootprinterModel.tsx | 37 ++++++++++++++++++++++ src/three-components/JscadModel.tsx | 19 +++++++++-- stories/Bugs/RotationOffsets.stories.tsx | 11 ++++--- stories/Simple2.stories.tsx | 2 +- stories/SmtPadLayers.stories.tsx | 2 +- 9 files changed, 86 insertions(+), 16 deletions(-) create mode 100644 src/three-components/FootprinterModel.tsx diff --git a/bun.lockb b/bun.lockb index dc680f0dc2e40aca2a3c57073da63b24e5a2c40a..5889b0908a81e052898570d90c87d83e0e8a866e 100755 GIT binary patch delta 85617 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
keQh$7u$V1*qHFG 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 delta 83944 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 F{{Uq%@s9ui diff --git a/package.json b/package.json index 228507b..9f1a07c 100644 --- a/package.json +++ b/package.json @@ -20,13 +20,14 @@ "@jscad/stl-serializer": "^2.1.17", "@react-three/drei": "^9.107.2", "@react-three/fiber": "^8.16.8", - "@tscircuit/core": "^0.0.84", + "@tscircuit/core": "^0.0.97", "@tscircuit/react-fiber": "^1.1.29", "@tscircuit/soup": "^0.0.69", "@tscircuit/soup-util": "^0.0.26", "@types/three": "^0.165.0", - "jscad-fiber": "^0.0.38", - "jscad-planner": "^0.0.2", + "jscad-electronics": "^0.0.1", + "jscad-fiber": "^0.0.63", + "jscad-planner": "^0.0.7", "react": "^18.3.1", "react-dom": "^18.3.1", "react-use-gesture": "^9.1.3", diff --git a/src/CadViewer.tsx b/src/CadViewer.tsx index 4e260b2..0198cab 100644 --- a/src/CadViewer.tsx +++ b/src/CadViewer.tsx @@ -9,6 +9,8 @@ import { CadViewerContainer } from "./CadViewerContainer" import { MixedStlModel } from "./three-components/MixedStlModel" import { Euler } from "three" import { JscadModel } from "./three-components/JscadModel" +import { Footprinter3d } from "jscad-electronics" +import { FootprinterModel } from "./three-components/FootprinterModel" interface Props { soup?: AnySoupElement[] @@ -77,6 +79,23 @@ export const CadViewer = ({ soup, children }: Props) => { /> ) } + + if (cad_component.footprinter_string) { + return ( + + ) + } })} ) diff --git a/src/main.tsx b/src/main.tsx index 1f17221..9a862e0 100644 --- a/src/main.tsx +++ b/src/main.tsx @@ -1,9 +1,6 @@ import React from "react" import ReactDOM from "react-dom/client" -import App from "./App.tsx" ReactDOM.createRoot(document.getElementById("root")!).render( - - - + {/* */}, ) diff --git a/src/three-components/FootprinterModel.tsx b/src/three-components/FootprinterModel.tsx new file mode 100644 index 0000000..7d929c0 --- /dev/null +++ b/src/three-components/FootprinterModel.tsx @@ -0,0 +1,37 @@ +import { Footprinter3d } from "jscad-electronics" +import { createJSCADRenderer } from "jscad-fiber" +import { jscadPlanner } from "jscad-planner" +import { useMemo } from "react" +import { JscadModel } from "./JscadModel" + +const { createJSCADRoot } = createJSCADRenderer(jscadPlanner as any) + +export const FootprinterModel = ({ + positionOffset, + footprint, +}: { positionOffset: any; footprint: string }) => { + // biome-ignore lint/correctness/useExhaustiveDependencies: + const jscadPlan = useMemo(() => { + if (!footprint) return null + const jscadPlan: any[] = [] + const root = createJSCADRoot(jscadPlan) + root.render() + return jscadPlan + }, [footprint]) + + if (!jscadPlan) return null + + return ( + <> + {jscadPlan.map((plan, index) => ( + + key={index} + positionOffset={positionOffset} + rotationOffset={[Math.PI / 2, 0, 0]} + jscadPlan={plan} + /> + ))} + + ) +} diff --git a/src/three-components/JscadModel.tsx b/src/three-components/JscadModel.tsx index cbdcc67..4134f9d 100644 --- a/src/three-components/JscadModel.tsx +++ b/src/three-components/JscadModel.tsx @@ -5,7 +5,15 @@ import { convertCSGToThreeGeom } from "jscad-fiber" import * as THREE from "three" import { useMemo } from "react" -export const JscadModel = ({ jscadPlan }: { jscadPlan: JscadOperation }) => { +export const JscadModel = ({ + jscadPlan, + positionOffset, + rotationOffset, +}: { + jscadPlan: JscadOperation + positionOffset?: [number, number, number] + rotationOffset?: [number, number, number] +}) => { const { threeGeom, material } = useMemo(() => { const jscadObject = executeJscadOperations(jscad as any, jscadPlan) @@ -20,5 +28,12 @@ export const JscadModel = ({ jscadPlan }: { jscadPlan: JscadOperation }) => { if (!threeGeom) return null - return + return ( + + ) } diff --git a/stories/Bugs/RotationOffsets.stories.tsx b/stories/Bugs/RotationOffsets.stories.tsx index 5c17641..542bc50 100644 --- a/stories/Bugs/RotationOffsets.stories.tsx +++ b/stories/Bugs/RotationOffsets.stories.tsx @@ -91,7 +91,7 @@ const soup: AnySoupElement[] = [ }, { type: "schematic_text", - text: 100, + text: "100", schematic_text_id: "schematic_text_1", schematic_component_id: "schematic_component_simple_resistor_0", anchor: "left", @@ -166,7 +166,7 @@ const soup: AnySoupElement[] = [ supplier_part_numbers: {}, ftype: "simple_resistor", resistance: 1000, - pcbRotation: "90deg", + // rotation: 90, // Removed as it's not a valid property for source_component }, { type: "schematic_component", @@ -248,7 +248,7 @@ const soup: AnySoupElement[] = [ }, { type: "schematic_text", - text: 1000, + text: "1000", schematic_text_id: "schematic_text_3", schematic_component_id: "schematic_component_simple_resistor_1", anchor: "left", @@ -320,6 +320,7 @@ const soup: AnySoupElement[] = [ type: "source_trace", source_trace_id: "source_trace_0", connected_source_port_ids: ["source_port_2", "source_port_1"], + connected_source_net_ids: [], }, { type: "schematic_trace", @@ -360,7 +361,7 @@ const soup: AnySoupElement[] = [ from: { x: -0.5, y: 0, - ti: 0, + // ti: 0, }, to: { x: -0.6000000000000001, @@ -371,7 +372,7 @@ const soup: AnySoupElement[] = [ from: { x: 3.061616997868383e-17, y: 2.5, - ti: 1, + // ti: 1, }, to: { x: 0, diff --git a/stories/Simple2.stories.tsx b/stories/Simple2.stories.tsx index 3813bc1..05e058f 100644 --- a/stories/Simple2.stories.tsx +++ b/stories/Simple2.stories.tsx @@ -4,7 +4,7 @@ import { CadViewer } from "src/CadViewer" export const Default = () => ( - + ) diff --git a/stories/SmtPadLayers.stories.tsx b/stories/SmtPadLayers.stories.tsx index fa59c73..c146ac8 100644 --- a/stories/SmtPadLayers.stories.tsx +++ b/stories/SmtPadLayers.stories.tsx @@ -38,7 +38,7 @@ const createCircuit = () => { export const SmtPadLayersDemo = () => { const circuitJson = createCircuit() - return + return } export default {