乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 85|回复: 4

vla-GetBoundingBox方法可以用???

[复制链接]

20

主题

80

帖子

7

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
160
发表于 2004-6-18 14:01:00 | 显示全部楼层 |阅读模式
中心旋转OBJECT
(DEFUN c:crt ()
         (SETQ        minExt (VLAX-MAKE-SAFEARRAY VLAX-VBVARIANT '(0 . 2))
        maxExt (VLAX-MAKE-SAFEARRAY VLAX-VBVARIANT '(0 . 2))
        np                                 (VLAX-MAKE-SAFEARRAY VLAX-VBDOUBLE '(0 . 2))
         )
         (SETQ ss (VLAX-ENAME->VLA-OBJECT (car(entsel))))
         (VLA-INITIALIZEUSERINPUT (acad-utility) 1)
         (SETQ rot (VLA-GETANGLE (acad-utility) "请输入角度:)"))
         (IF (= (VLA-GET-OBJECTNAME ss) "AcDbTEXT")
                         (PROGN
                         (VLA-GETBOUNDINGBOX ss minExt maxExt))
                         (SETQ x         (VLAX-SAFEARRAY-GET-ELEMENT minExt 0)
                 y         (VLAX-SAFEARRAY-GET-ELEMENT minExt 1)
                 x1 (VLAX-SAFEARRAY-GET-ELEMENT maxExt 0)
                 y1 (VLAX-SAFEARRAY-GET-ELEMENT maxExt 1)
                         )
                         (SETQ nx (+ x (/ (- x1 x) 2))
                 ny (+ y (/ (- y1 y) 2))
                         )
                         (VLAX-SAFEARRAY-PUT-ELEMENT np 0 nx)
                         (VLAX-SAFEARRAY-PUT-ELEMENT np 1 ny)
                         (VLAX-SAFEARRAY-PUT-ELEMENT np 2 0)
                         (VLA-ROTATE si np rot)
                         )
         )
)
为什么说我Automation错误 VLA-GETBOUNDINGBOX 怎么用?
请各位高手赐教!
回复

使用道具 举报

16

主题

909

帖子

8

银币

中流砥柱

Rank: 25

铜币
973
发表于 2004-6-18 14:43:00 | 显示全部楼层
Many mistakes :)
(DEFUN c:crt ()
         (SETQ        minExt (VLAX-MAKE-SAFEARRAY VLAX-VBVARIANT '(0 . 2))
        maxExt (VLAX-MAKE-SAFEARRAY VLAX-VBVARIANT '(0 . 2))
        np                                 (VLAX-MAKE-SAFEARRAY VLAX-VBDOUBLE '(0 . 2))
         )
         (SETQ ss (VLAX-ENAME->VLA-OBJECT (car (entsel))))
         (VLA-INITIALIZEUSERINPUT (acad-utility) 1)
         (IF (= (VLA-GET-OBJECTNAME ss) "AcDbText")
                         (PROGN
                                         (VLA-GETBOUNDINGBOX ss 'minExt 'maxExt)
                                         (SETQ x         (VLAX-SAFEARRAY-GET-ELEMENT minExt 0)
                                 y         (VLAX-SAFEARRAY-GET-ELEMENT minExt 1)
                                 x1 (VLAX-SAFEARRAY-GET-ELEMENT maxExt 0)
                                 y1 (VLAX-SAFEARRAY-GET-ELEMENT maxExt 1)
                                         )
                                         (SETQ nx (+ x (/ (- x1 x) 2))
                                 ny (+ y (/ (- y1 y) 2))
                                         )
                                         (VLAX-SAFEARRAY-PUT-ELEMENT np 0 nx)
                                         (VLAX-SAFEARRAY-PUT-ELEMENT np 1 ny)
                                         (VLAX-SAFEARRAY-PUT-ELEMENT np 2 0)
                                         (SETQ rot (VLA-GETANGLE (acad-utility) np "\nInput angle: "))
                                         (VLA-ROTATE ss np rot)
                         )
         )
)
(defun acad-utility ()
         (vla-get-utility
                         (vla-get-activedocument (vlax-get-acad-object))
         )
)
回复

使用道具 举报

20

主题

80

帖子

7

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
160
发表于 2004-6-20 21:35:00 | 显示全部楼层
原来如此 谢谢alin 以后还请多多指教!!
那么 object.GetEntity Object, PickedPoint[, Prompt]
用vlisp解释应该是 (vla-getentity        object 'pickedpoint         [msg])
对吗?
回复

使用道具 举报

16

主题

909

帖子

8

银币

中流砥柱

Rank: 25

铜币
973
发表于 2004-6-21 00:34:00 | 显示全部楼层
应该是 (vla-getentity        object 'object 'pickedpoint         [msg])
第一个object是utility, 即上面程序中的(acad-utility)
第二个为选中的输出的object
回复

使用道具 举报

20

主题

80

帖子

7

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
160
发表于 2004-6-21 23:24:00 | 显示全部楼层
再次感谢ALIN
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-8-18 14:23 , Processed in 1.721143 second(s), 63 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表