明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 317|回复: 7

[提问] 怎么获得二维多段线的顶点坐标

[复制链接]
发表于 2024-5-3 23:01 | 显示全部楼层 |阅读模式



请教各位  我怎么不能像查多段线那样查询到二维多段线的坐标

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
发表于 2024-5-4 07:11 | 显示全部楼层
(vlax-safearray->list(vlax-variant-value(vla-get-coordinates(vlax-ename->vla-object en))))
发表于 2024-5-4 08:46 | 显示全部楼层
(defun $读取二维多段线顶点$ (e / ed pts)
  (if (AND E
           (= (TYPE E) 'ENAME)
           (eq (cdr (assoc 0 (entget e))) "POLYLINE")
      )
    (progn
      (while (and
               (setq e (entnext e))
               (/= (cdr (assoc 0 (setq ed (entget e)))) "SEQEND")
             )
        (setq pts (cons (cdr (assoc 10 ed)) pts))
      )
    )
  )
  (reverse pts)
)

评分

参与人数 1明经币 +1 收起 理由
ssyfeng + 1 很给力!

查看全部评分

 楼主| 发表于 2024-5-4 21:42 | 显示全部楼层
dcl1214 发表于 2024-5-4 08:46
(defun $读取二维多段线顶点$ (e / ed pts)
  (if (AND E
           (= (TYPE E) 'ENAME)

请问二维多段线的基本属性和顶点在数据库中是单独存放的吗?
发表于 2024-5-5 00:25 | 显示全部楼层
_chaogang 发表于 2024-5-4 21:42
请问二维多段线的基本属性和顶点在数据库中是单独存放的吗?

你用的哪个数据库?  mysql   sqlite  sqlserver?
 楼主| 发表于 2024-5-5 00:39 | 显示全部楼层
dcl1214 发表于 2024-5-5 00:25
你用的哪个数据库?  mysql   sqlite  sqlserver?

我是想问它在cad中是怎么保存的  我用entget 和entnext 发现它的顶点有单独的图元名  也是有了新发现
发表于 2024-5-5 17:48 | 显示全部楼层
  1. (defun plxyz(e fun / pt p n);多段线节点坐标(适用于所有类型的多段线,返回结果为三维坐标点表),连续重合点只取一个,根据fuz阀值过滤接近点
  2.   (or(=(type e)'vla-object)(setq e(vlax-ename->vla-object e)))
  3.   (cond((=(setq n(vlax-get-property e'objectname))"AcDbLine")
  4.         (list(vlax-curve-getstartpoint e)(vlax-curve-getendpoint e)))
  5.        ((WCMATCH n"*Polyline")
  6.         (repeat(setq n(fix(+(vlax-curve-getendparam e)(if(=(vlax-get-property e'Closed):vlax-true)0 1))))
  7.           (or(equal(setq n(1- n)p(vlax-curve-getpointatparam e n))(car pt)fun)
  8.              (setq pt(cons p pt))))
  9.         (if(equal(car pt)(last pt)fun)
  10.           (reverse(cdr(reverse pt)))pt))))
发表于 2024-5-7 17:17 | 显示全部楼层

大侠真乃神人也。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-5-18 11:47 , Processed in 0.230268 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表