Skip to content

Commit d5fb3e0

Browse files
committed
newer api for screenshots
1 parent eaf7efd commit d5fb3e0

File tree

4 files changed

+33
-11
lines changed

4 files changed

+33
-11
lines changed

index.html

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
"min_@node-projects/node-html-parser-esm": "./node_modules/@node-projects/node-html-parser-esm/dist/index-min.js",
2929
"min_@node-projects/pickr-webcomponent": "./node_modules/@node-projects/pickr-webcomponent/lib/index-min.js",
3030
"min_@node-projects/layout2vector": "./node_modules/@node-projects/layout2vector/dist/index-min.js",
31+
"min_@node-projects/acad-ts": "./node_modules/@node-projects/acad-ts/dist/index-min.js",
3132
"min_@node-projects/web-component-designer-collaboration-service": "./node_modules/@node-projects/web-component-designer-collaboration-service/dist/index-min.js",
3233
"min_dock-spawn-ts": "./node_modules/dock-spawn-ts/lib/js/index-webcomponent-min.js",
3334

@@ -40,6 +41,7 @@
4041
"@node-projects/node-html-parser-esm": "./node_modules/@node-projects/node-html-parser-esm/dist/index.js",
4142
"@node-projects/pickr-webcomponent": "./node_modules/@node-projects/pickr-webcomponent/lib/index.js",
4243
"@node-projects/layout2vector": "./node_modules/@node-projects/layout2vector/dist/index.js",
44+
"@node-projects/acad-ts": "./node_modules/@node-projects/acad-ts/dist/index.js",
4345
"@node-projects/web-component-designer-collaboration-service": "./node_modules/@node-projects/web-component-designer-collaboration-service/dist/index.js",
4446
"dock-spawn-ts": "./node_modules/dock-spawn-ts/lib/js/index-webcomponent.js",
4547

package-lock.json

Lines changed: 9 additions & 8 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,9 +28,10 @@
2828
"dependencies": {
2929
"@doubletrade/lit-datepicker": "^1.0.0",
3030
"@mlc-ai/web-llm": "^0.2.82",
31+
"@node-projects/acad-ts": "^1.1.0",
3132
"@node-projects/base-custom-webcomponent": "0.46.0",
3233
"@node-projects/css-parser": "^5.2.0",
33-
"@node-projects/layout2vector": "^4.6.0",
34+
"@node-projects/layout2vector": "^4.8.0",
3435
"@node-projects/lean-he-esm": "^3.4.1",
3536
"@node-projects/node-html-parser-esm": "^6.4.1",
3637
"@node-projects/pickr-webcomponent": "^1.1.0",

src/appShell.ts

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -807,6 +807,16 @@ export class AppShell extends BaseCustomWebComponentConstructorAppend {
807807
this.exportData('emf');
808808
}
809809
},
810+
{
811+
title: 'export as DWG (acad-ts)', action: async () => {
812+
this.exportData('dwg');
813+
}
814+
},
815+
{
816+
title: 'export as DXF (acad-ts)', action: async () => {
817+
this.exportData('dxf-acad-ts');
818+
}
819+
},
810820
{ title: '-' },
811821
{
812822
title: 'export overlay', checked: this._exportOverlays, checkable: true, action: () => {
@@ -823,8 +833,8 @@ export class AppShell extends BaseCustomWebComponentConstructorAppend {
823833
], e);
824834
}
825835

826-
async exportData(format: 'dxf' | 'pdf' | 'png' | 'svg' | 'html' | 'emf') {
827-
const { extractIR, renderIR, DXFWriter, PDFWriter, PNGWriter, SVGWriter, HTMLWriter, EMFWriter } = await import("@node-projects/layout2vector");
836+
async exportData(format: 'dxf' | 'pdf' | 'png' | 'svg' | 'html' | 'emf' | 'dwg' | 'dxf-acad-ts') {
837+
const { extractIR, renderIR, DXFWriter, PDFWriter, PNGWriter, SVGWriter, HTMLWriter, EMFWriter, DWGWriter, AcadDXFWriter } = await import("@node-projects/layout2vector");
828838

829839
const doc = <DocumentContainer>this._dockManager.activeDocument.resolvedElementContent;
830840

@@ -870,6 +880,14 @@ export class AppShell extends BaseCustomWebComponentConstructorAppend {
870880
const emfWriter = new EMFWriter(1000, 2000);
871881
const emfContent = await renderIR(ir, emfWriter);
872882
await saveData(emfContent, 'emfFile', 'emf');
883+
} else if (format === 'dwg') {
884+
const dwgWriter = new DWGWriter({});
885+
const dwgContent = await renderIR(ir, dwgWriter);
886+
await saveData(dwgContent, 'dwgFile', 'dwg');
887+
} else if (format === 'dxf-acad-ts') {
888+
const dxfWriter = new AcadDXFWriter({});
889+
const dxfContent = await renderIR(ir, dxfWriter);
890+
await saveData(dxfContent, 'dxfFile', 'dxf');
873891
}
874892
}
875893

0 commit comments

Comments
 (0)