import type { PolylineProps } from 'cadapi' import { CADFiler, Polyline } from 'cadapi' import { Vector2 } from 'three' import { copyTextToClipboard } from '../base/CAD' export class ClipboardTest { public static writePolyline1(pl: Polyline, pts1) { // pl 原图 // pts :偏移后的点 const lined: PolylineProps[] = [] const count = pts1.length for (let i = 0; i < count; i++) { const p0 = pts1[i] lined.push({ pt: new Vector2(p0.x, p0.y), bul: 0 }) } const pl1 = new Polyline(lined) pl1.CloseMark = true const f = new CADFiler() f.Clear() f.Write(2) f.WriteObject(pl) f.WriteObject(pl1) const test = JSON.stringify(f.Data) // for (let pl of lined) // f.WriteObject(pl) copyTextToClipboard(test) } public static writePolyline2(pl: Polyline, pts1, pts2) { // pl 原图 // pts :偏移后的点 const lined: PolylineProps[] = [] const count = pts1.length for (let i = 0; i < count; i++) { const p0 = pts1[i] lined.push({ pt: new Vector2(p0.x, p0.y), bul: 0 }) } const pl1 = new Polyline(lined) const lined2: PolylineProps[] = [] const count2 = pts2.length for (let i = 0; i < count2; i++) { const p0 = pts2[i] lined2.push({ pt: new Vector2(p0.x, p0.y), bul: 0 }) } const pl2 = new Polyline(lined2) const f = new CADFiler() f.Clear() f.Write(3) f.WriteObject(pl) f.WriteObject(pl1) f.WriteObject(pl2) const test = JSON.stringify(f.Data) // for (let pl of lined) // f.WriteObject(pl) copyTextToClipboard(test) } public static writeClipboard(pts) { const lined: PolylineProps[] = [] const count = pts.length for (let i = 0; i < count; i++) { const p0 = pts[i] lined.push({ pt: new Vector2(p0.x, p0.y), bul: 0 }) } const pls = new Polyline(lined) const f = new CADFiler() f.Clear() f.Write(1) f.WriteObject(pls) const test = JSON.stringify(f.Data) // for (let pl of lined) // f.WriteObject(pl) copyTextToClipboard(test) } public static writePolyLine(pls) { const f = new CADFiler() f.Clear() f.Write(1) f.WriteObject(pls) const test = JSON.stringify(f.Data) copyTextToClipboard(test) } public static write2PolyLine(pls, pls2) { const f = new CADFiler() f.Clear() f.Write(2) f.WriteObject(pls) f.WriteObject(pls2) const test = JSON.stringify(f.Data) copyTextToClipboard(test) } }