乐筑天下

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

请问怎样转化选定的弧线成为直线?

[复制链接]

3

主题

14

帖子

2

银币

初来乍到

Rank: 1

铜币
26
发表于 2004-6-20 23:38:00 | 显示全部楼层 |阅读模式
需要的就是把弧线的两个端点用直线连接起来,有很多弧线,不一定都在一个平面内
我写了一个但是不知道为什么不能用
(defun c:atl ()
         (prin1 "\请选择需要转化成直线的圆弧:")
         (setq ss (ssget))
         (VL-LOAD-COM)
         (setq        AcadObject                 (vlax-get-acad-object)
        AcadDocument (vla-get-ActiveDocument Acadobject)
        mSpace                                         (vla-get-ModelSpace Acaddocument)
         )
         (setq i 0)
         (setvar "pdmode" 33)
         (repeat (sslength ss)
                         (setq ssn (ssname ss i))
                         (setq arcObj (entget ssn))
                         (setq startPnt1 (vla-get-StartPoint arcObj))
                         (setq endPnt1 (vla-get-EndPoint arcObj))
                         (setq i (1+ i))
                         (command "line" startPnt1 endPnt1 "")
         )
)
以前没有用过activex,请多指教!
本来我是想先把arc转化为pline然后再连成直线,但是空间上好像这个方法行不通
回复

使用道具 举报

16

主题

909

帖子

8

银币

中流砥柱

Rank: 25

铜币
973
发表于 2004-6-21 00:23:00 | 显示全部楼层
(defun c:atl ()
         (prin1 "\请选择需要转化成直线的圆弧:")
         (setq ss (ssget))
         (VL-LOAD-COM)
         (setq AcadObject                 (vlax-get-acad-object)
        AcadDocument (vla-get-ActiveDocument Acadobject)
        mSpace                                         (vla-get-ModelSpace Acaddocument)
         )
         (setq i 0)
         (setvar "pdmode" 33)
         (repeat (sslength ss)
                         (setq ssn (ssname ss i))
                         (setq arcObj (VLAX-ENAME->VLA-OBJECT ssn))
                         (setq startPnt1 (vla-get-StartPoint arcObj))
                         (setq endPnt1 (vla-get-EndPoint arcObj))
                         (setq i (1+ i))
                         (VLA-ADDLINE MSPACE startPnt1 endPnt1)
         )
)
回复

使用道具 举报

3

主题

14

帖子

2

银币

初来乍到

Rank: 1

铜币
26
发表于 2004-6-21 14:47:00 | 显示全部楼层
多谢alin
现又有一个问题,就是我想把点转化为lisp的格式怎么不管用?
(defun c:atl ()
         (prin1 "\请选择需要转化成直线的圆弧:")
         (setq ss (ssget))
         (VL-LOAD-COM)
         (setq        AcadObject                 (vlax-get-acad-object)
        AcadDocument (vla-get-ActiveDocument Acadobject)
        mSpace                                         (vla-get-ModelSpace Acaddocument)
         )
         (setq i 0)
         (setvar "pdmode" 33)
         (repeat (sslength ss)
                         (setq ssn (ssname ss i))
                         (setq arcObj (VLAX-ENAME->VLA-OBJECT ssn))
                         (setq startPnt1 (vla-get-StartPoint arcObj))
                         (setq endPnt1 (vla-get-EndPoint arcObj))
                         (setq p1 (vlax-vla-object->ename startPnt1))
                         (setq p2 (vlax-vla-object->ename endPnt1))
                         (setq i (1+ i))
                         (command "line" p1 p2 "")
         )
         (COMMAND "ERASE" SS "")
         (prin1)
)
回复

使用道具 举报

16

主题

909

帖子

8

银币

中流砥柱

Rank: 25

铜币
973
发表于 2004-6-21 15:22:00 | 显示全部楼层
(setq p1 (vlax-safearray->list (vlax-variant-value startPnt1)))
回复

使用道具 举报

3

主题

14

帖子

2

银币

初来乍到

Rank: 1

铜币
26
发表于 2004-6-21 23:46:00 | 显示全部楼层
再次感谢alin兄,不过还有个问题想麻烦你,不知道为什么下边的程序不能用?总是说ssget列表错误?
(setq lay (getstring ":"))
(setq ss (ssget        "x"
                '((-4 . "")
                         (-4 . "")
                         (-4 . "or>")
                 )
         )
)
回复

使用道具 举报

26

主题

3072

帖子

10

银币

社区元老

Rank: 75Rank: 75Rank: 75

铜币
3177
发表于 2004-6-22 07:54:00 | 显示全部楼层
(list (cons 8 . lay))->(cons 8 lay)
回复

使用道具 举报

3

主题

14

帖子

2

银币

初来乍到

Rank: 1

铜币
26
发表于 2004-6-22 08:49:00 | 显示全部楼层
还是说列表错误啊!
回复

使用道具 举报

20

主题

872

帖子

10

银币

中流砥柱

Rank: 25

铜币
952
发表于 2004-6-22 19:11:00 | 显示全部楼层
' 内不能用cons了
以上选择可以这样写
(ssget (list '(0 . "line,arc") (cons 8 lay)))
回复

使用道具 举报

3

主题

14

帖子

2

银币

初来乍到

Rank: 1

铜币
26
发表于 2004-6-22 19:17:00 | 显示全部楼层

this will be ok: (setq ss (ssget "x" (list '(cons 8 lay)'(0 . "ARC,LINE"))))
回复

使用道具 举报

20

主题

872

帖子

10

银币

中流砥柱

Rank: 25

铜币
952
发表于 2004-6-22 19:37:00 | 显示全部楼层

多谢多谢!!
还想多问一个问题:就是我把一些数据写入到文件中以后,想把文件中的数据用不同的颜色显示,可以吗?
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-8-18 14:28 , Processed in 1.019810 second(s), 73 queries .

© 2020-2025 乐筑天下

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