明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
12
返回列表 发新帖
楼主: matichen

关于PL线长度的问题[求助]

  [复制链接]
发表于 2002-8-20 09:26 | 显示全部楼层

为简单点,我没有考虑弧线

(defun get_lw_p(en / enlist points num flag ele)
  (setq enlist (entget en)
        ele (cdr (assoc 38 enlist))
        points '()
        num (cdr (assoc 90 enlist))
        flag (cdr (assoc 70 enlist))        
  )
   (repeat num
     (setq xy (cdr (assoc 10 enlist))
           xy (list (car xy) (cadr xy) ele)
           points (cons xy points)
           enlist (cdr (member (assoc 10 enlist) enlist))         
     )
   )
   (if (= 1 (logand flag 1))
     (progn
       (setq xy (car (last points))
             xy (list xy arc42)
             points (cons xy points)
       )
     )
  )
  points
)
;VLISP中好像有这种函数
发表于 2002-8-28 19:54 | 显示全部楼层

以内函数可求任意曲线的长度

(defun vla-get-ObjLength (Obj / EndParam ObjLength)
(if (= (type Obj) 'ENAME)
   (setq Obj (vlax-ename->vla-object Obj))
);end if
  (setq EndParam
    (vl-catch-all-apply
     'vlax-curve-GetEndParam
     (list Obj)
    )
  )
  (if (not (vl-catch-all-error-p EndParam))
    (setq ObjLength
     (vlax-curve-getdistatparam Obj EndParam)
    )
  );end if
ObjLength
);end vla-get-ObjLength
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-20 21:52 , Processed in 0.172545 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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