明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2879|回复: 5

[求助] 怎样创建对象数组

[复制链接]
发表于 2007-7-6 14:39 | 显示全部楼层 |阅读模式
已知若干图元对象,怎样将图元创建为对象数组
"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2007-7-7 23:51 | 显示全部楼层

不太明白楼主意思。

按我的理解,表就是数组。如坐标点就是一维数组,又如:(setq A (list '(a11 a12 a13) '(a21 a22 a23) '(a31 a32 a33)))就是一个二维数组,aij的值为(nth j (nth i A))。

发表于 2007-7-8 09:00 | 显示全部楼层
本帖最后由 作者 于 2007-7-8 9:15:40 编辑

所说的应该是安全数组吧!

或者什么叫对象数组?有什么用处!

发表于 2007-7-8 09:19 | 显示全部楼层
敢问是这个吗?
  1. (setq curves1 (vla-AddArc mSpace centerPnt radius startAngle endAngle))
  2. (setq curves2 (vla-AddLine mSpace startPnt endPnt))
  3. (setq curves (vlax-make-safearray vlax-vbObject '(0 . 1)))
  4. (vlax-safearray-fill curves (list curves1 curves2))
发表于 2007-7-8 09:22 | 显示全部楼层
本帖最后由 作者 于 2007-7-8 9:25:24 编辑

记得上次,楼主问过vla-get-Perimeter
这个看看能否帮到你!
  1. (defun Example_Perimeter ()
  2. ;;;这个范例使用一个弧以及一条线来建立一个面域
  3. ;;;接着返回面域的周长
  4.   (VL-LOAD-COM)
  5.   (setq AcadObject   (vlax-get-acad-object)
  6. AcadDocument (vla-get-ActiveDocument AcadObject)
  7. mSpace      (vla-get-ModelSpace AcadDocument)
  8.   )
  9.   (setq centerpnt (vlax-make-safearray vlax-vbDouble '(0 . 2)))
  10.   (vlax-safearray-fill centerpnt '(5 3 0))
  11.   (setq radius 2)
  12.   (setq startAngle 0)
  13.   (setq endAngle 3.141592)
  14.   (setq
  15.     curves1 (vla-AddArc mSpace centerPnt radius startAngle endAngle)
  16.   )
  17. ;;;建立弧与线
  18.   (setq startPnt (vla-get-StartPoint curves1))
  19.   (setq endPnt (vla-get-EndPoint curves1))
  20.   (setq curves2 (vla-AddLine mSpace startPnt endPnt))
  21.   (setq curves (vlax-make-safearray vlax-vbObject '(0 . 1)))
  22.   (vlax-safearray-fill curves (list curves1 curves2))
  23. ;;;建立面域
  24.   (setq regionObj (vla-AddRegion mSpace curves))
  25.   (vla-ZoomExtents AcadObject)
  26. ;;;找出面域的周长
  27.   (setq Perimeter (vla-get-Perimeter
  28.       (vlax-safearray-get-element
  29.         (vlax-variant-value regionObj)
  30.         0
  31.       )
  32.     )
  33.   )
  34.   (princ (STRCAT "面域的周长是: "
  35.    (RTOS Perimeter)
  36.    "   Perimeter 范例"
  37.   )
  38.   )
  39.   (princ)
  40. )
 楼主| 发表于 2007-7-8 11:19 | 显示全部楼层
本帖最后由 作者 于 2007-7-8 11:24:01 编辑

我是想来做填充图案的,在XDCAD也得到了解决。谢谢大家

楼上的很热心,感激!!学习!

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

本版积分规则

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

GMT+8, 2024-5-4 17:18 , Processed in 0.425684 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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