返回介绍

指南

MxCAD API 文档

11. 路径

发布于 2024-07-31 21:40:00 字数 6722 浏览 0 评论 0 收藏 0

路径

我们可以通过 mxcad 的实例对象中提供的路径绘制方法直接绘制路径,这些方法通常以path开头:

  1. 调用 pathLineToEx() 方法设置从当前位置画一条直线到指定位置,同时指定起始宽度、终止宽度和凸度

  2. 调用 pathLineTo() 方法从当前位置画一条直线到指定位置

  3. 调用 pathMoveToEx() 方法移动路径到指定位置,同时指定起始宽度、终止宽度和凸度

  4. 调用 pathMakeExclude() 方法把当前路径做上排除标记,主要用于填充的绘制,把这个路径组成的闭合区域在填充中挖去

  5. 调用 pathMakeClosed() 方法闭合路径

此外,还可调用 drawPathToPolyline() 方法将路径转换为折线,调用 drawPathToSpline() 方法将路径转换为样线条,调用 drawPathToHatch() 方法将路径转换为填充图形。

点击 path路径drawPath绘制路径 查看详细属性和方法说明。

import { MxCpp } from "mxcad"

const mxcad = MxCpp.getCurrentMxCAD();
//用路径 绘制矩形框
//定义一个路径的开始点
mxcad.pathMoveTo(0, 300);
//路径的一下个点
mxcad.pathLineTo(100, 300);
//路径的一下个点
mxcad.pathLineTo(100, 400);
//路径的一下个点
mxcad.pathLineTo(0, 400);
//把路径设置成闭合
mxcad.pathMakeClosed();
//生成一个矩形框的多义线
mxcad.drawPathToPolyline();

// 或者也可以选择将路径生成一个填充 这里的参数是图案缩放比例
mxcad.drawPathToHatch(1);

// 还可以将路径转换成样条曲线
mxcad.drawPathToSpline()

:::demo

import {  McObject, McDbText, McDbMText, McDb, McGePoint3d, McCmColor } from "mxcad"

export default () => {
    const mxcad = new McObject()
    mxcad.create({
      canvas: "#myCanvas",
      locateFile: (fileName: string)=> {
            // CDN 加载必须使用wasm/2d-st中的资源、因为github的限制无法使用wasm/2d 资源
            // 需要使用wasm/2d需要遵循浏览器同源策略或使用其他手段规避浏览器同源策略
            return "https://unpkg.com/mxcad/dist/wasm/2d-st/" + fileName
      },
      // 加载字体的目录位置
      fontspath: self.location.origin + "/mxcad_docs/fonts",
      // 加载转换后的图纸文件
      fileUrl: self.location.origin + "/mxcad_docs/test.mxweb",
      onOpenFileComplete: ()=>{
            //用路径 绘制矩形框
            //定义一个路径的开始点
            mxcad.pathMoveTo(0, 300);
            //路径的一下个点
            mxcad.pathLineTo(100, 300);
            //路径的一下个点
            mxcad.pathLineTo(100, 400);
            //路径的一下个点
            mxcad.pathLineTo(0, 400);
            //把路径设置成闭合
            mxcad.pathMakeClosed();
            //生成一个矩形框的多义线
            mxcad.drawPathToPolyline();

            //定义一个路径的开始点
            mxcad.pathMoveTo(170, 320)
            mxcad.pathLineTo(200, 320)
            mxcad.pathLineTo(200, 340)
            mxcad.pathLineTo(170, 340)
            // 把上面定义的路径定义填充排除区域.
            mxcad.pathMakeExclude(true)
            mxcad.pathMoveTo(150, 300)
            mxcad.pathLineTo(250, 300)
            mxcad.pathLineTo(250, 400)
            mxcad.pathLineTo(150, 400)
            mxcad.pathMakeClosed();
            // 将路径生成一个填充 这里的参数是图案缩放比例
            mxcad.drawPathToHatch(1);

            mxcad.zoomAll();
            mxcad.zoomScale(0.8)
      }
    })
    return (<div style="height: 500px; overflow: hidden;"><canvas id="myCanvas" ></canvas>
    </div>)
}

:::

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文