乐筑天下

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

[求助]请大家帮忙看看哪出问题?我对Visual LISP不太懂

[复制链接]

31

主题

78

帖子

6

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
202
发表于 2004-3-2 22:39:00 | 显示全部楼层 |阅读模式
(defun c:test()
        (vl-load-com)
        (setq n 0)
        (setq ss(ssget))
        (setq pt1(getpoint "\n指定基点:"))
         (setq ang (getangle pt1 "\n请输入角度:"))
         (setq point1(vlax-3d-point pt1))
         (setq m(sslength ss))
         (repeat m
                         (setq CURVE(append CURVE (list(vlax-ename->vla-object (ssname ss n)))))
                         (setq n(1+ n))
                 )
(setq objects (vlax-make-safearray vlax-vbObject (cons 0 (1- m))))
                 (vlax-safearray-fill objects CURVE)
                 (vla-rotate objects         point1 ang)
                 (setq CURVE nil)
         (princ)
         )
回复

使用道具 举报

26

主题

3072

帖子

10

银币

社区元老

Rank: 75Rank: 75Rank: 75

铜币
3177
发表于 2004-3-2 23:15:00 | 显示全部楼层
你对VLISP不太懂,那你想给你怎样的回答?
1、如果解释里面的错误,你可能也不明白
2、改正它,似乎没有任何必要,rotate命令比它完美多了
回复

使用道具 举报

31

主题

78

帖子

6

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
202
发表于 2004-3-3 13:52:00 | 显示全部楼层
虽说不太懂,主要是想让你们帮忙改正错误.在这先谢了!
回复

使用道具 举报

26

主题

3072

帖子

10

银币

社区元老

Rank: 75Rank: 75Rank: 75

铜币
3177
发表于 2004-3-3 14:37:00 | 显示全部楼层
看我说的2,看它的功能就是将选中的对象进行旋转,
如果你是为使用它,完全可以用ROTATE命令,
如果你是为学习,以后不要去找这样的程序来学,没有意义,写这个程序的人可能对一些概念还不清楚,论坛里有很多程序,你都可以找来学习参考的...
回复

使用道具 举报

31

主题

78

帖子

6

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
202
发表于 2004-3-3 20:30:00 | 显示全部楼层
这个程序对我而言很重要!也知道用ROTATE命令
我的源程序是:
(defun c:test()
        (vl-load-com)
        (setq n 0)
        (setq ss(ssget))
        (setq pt1(getpoint "\n指定基点:"))
         (setq ang (getangle pt1 "\n请输入角度:"))
         (setq point1(vlax-3d-point pt1))
         (setq m(sslength ss))
         (repeat m
                         (setq CURVE(vlax-ename->vla-object (ssname ss n)))
                 (vla-rotate CURVE point1 ang)
                         (setq n(1+ n))
                 )
(setq CURVE nil)
         (princ)
         )
可以正常运行,但是我实现选择对象集合后再一起进行旋转或移动。
回复

使用道具 举报

26

主题

3072

帖子

10

银币

社区元老

Rank: 75Rank: 75Rank: 75

铜币
3177
发表于 2004-3-3 21:08:00 | 显示全部楼层
既然你已经知道rotate的方法的了,你就应该知道它使用的对象是, ,而这里并没有说适用其它的如safearray等,所以你这样就得不到正确的结果
具体参考ActiveX and VBA reference
如果我改,就使用(command "_.rotate" ...)我想这不是你要的结果
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-8-15 06:58 , Processed in 2.442752 second(s), 65 queries .

© 2020-2025 乐筑天下

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