diff --git a/lib/components/primitive-components/CadModel.ts b/lib/components/primitive-components/CadModel.ts index e28607e98..81c649cf3 100644 --- a/lib/components/primitive-components/CadModel.ts +++ b/lib/components/primitive-components/CadModel.ts @@ -56,7 +56,16 @@ export class CadModel extends PrimitiveComponent { const layer = parent.props.layer === "bottom" ? "bottom" : "top" - const ext = new URL(props.modelUrl).pathname.split(".").pop()?.toLowerCase() + let ext: string | undefined + try { + const parsedUrl = new URL(props.modelUrl) + ext = parsedUrl.pathname.split(".").pop()?.toLowerCase() + } catch (error) { + const details = error instanceof Error ? error.message : String(error) + throw new Error( + `Failed to parse CadModel modelUrl "${props.modelUrl}": ${details}`, + ) + } const urlProps: Partial = {} if (ext === "stl") urlProps.model_stl_url = this._addCachebustToModelUrl(props.modelUrl)