明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2147|回复: 7

那位高手能不能帮我编个获取已知3DPOLY线顶点的lisp程序?

[复制链接]
发表于 2002-9-21 15:13:00 | 显示全部楼层 |阅读模式
另请帮忙看看附件DWG图,为何boundary出错?(排除重合、断头)
发表于 2002-9-22 13:39:00 | 显示全部楼层

做什么用?

 楼主| 发表于 2002-9-22 14:36:00 | 显示全部楼层

回陈老师:把实体如杆件等对象依次放到3DPOLY顶点上

发表于 2002-9-22 21:07:00 | 显示全部楼层

见内

本帖最后由 作者 于 2002-9-22 21:07:54 编辑

(defun 3DPolyVertexList        (ename / vlist reslist)
  (setq
    vlist (lispvalue (vla-get-coordinates (vlax-ename->vla-object ename)))
  )
  (while vlist
    (setq reslist (cons (list (car vlist) (cadr vlist) (caddr vlist)) reslist))
    (setq vlist (cdddr vlist))
  )
  (reverse reslist)
)

(defun lispValue (v)
  (cond
    ((= (type v) 'variant)
     (lispValue (variant-value v))
    )
    ((= (type v) 'safearray)
     (mapcar 'lispValue (safearray-value v))
    )
    (T v)
  )
)

;;; TEST:
;;; $_ (3dpolyVertexlist (car (entsel)))
;;; ((84.8063 123.102 0.0)
;;;   (149.643 211.736 0.0)
;;;   (185.433 149.018 0.0)
;;;   (166.241 109.107 0.0)
;;;   (197.881 79.0445 0.0)
;;;   (298.508 65.0497 0.0)
;;;   (311.475 143.835 0.0)
;;;   (242.489 207.589 0.0)
;;;   (305.251 231.95 0.0)
;;;   (380.98 231.432 0.0)
;;;   (399.653 132.432 0.0)
;;;   (403.284 95.6309 0.0)
;;;   (438.555 97.1859 0.0)
;;;   (446.854 172.861 0.0)
;;;   (442.186 220.547 0.0)
;;; )
;;;
发表于 2002-9-23 08:59:00 | 显示全部楼层

空间角度如何控制?

 楼主| 发表于 2002-9-24 07:31:00 | 显示全部楼层

谢谢秋枫

 楼主| 发表于 2002-9-24 07:39:00 | 显示全部楼层

笨办法

笨办法:杆件依次放到与顶点共面再移动,其截面轴与相邻两顶点连线投影夹角保持不变
发表于 2002-9-24 07:56:00 | 显示全部楼层

为甚么不在建立3DPOLY时就取顶点表???

您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-1-15 23:34 , Processed in 0.203119 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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