找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 540|回复: 1

[LISP函数]:线基于中点旋转180度

[复制链接]
发表于 2007-11-20 20:51:14 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
(defun c:sw (/ ents ent c0 sw-GetVal pt10 pt11 pt1011)
        (vl-load-com)
        (defun sw-GetVal (wz_ent wz_id / wz_elst wz_val)                 
                (setq wz_elst (entget wz_ent))
                (cdr (assoc wz_id wz_elst))
        )
        (defun sw-getstartpt (wz_ent)
                (vlax-curve-getStartPoint  (vlax-ename->vla-object wz_ent))
        )
       

        (defun sw-getendpt (wz_ent)
                (vlax-curve-getendPoint  (vlax-ename->vla-object wz_ent))
        )
        (princ "\n选择要翻转的线:")
        (setq ents (ssget '((0 . "LINE,LWPOLYLINE"))))
        (setq c0 0)
        (repeat (sslength ents)
                (setq ent (ssname ents c0))
              (setq PT10 (sw-GetStartpt ent))
                (setq PT11 (sw-GetEndPt ent))
                (setq pt1011 (list
                        (* 0.5 (+ (nth 0 pt10)(nth 0 pt11)))
                        (* 0.5 (+ (nth 1 pt10)(nth 1 pt11)))
                        0
                ))
                (command ".rotate" ent "" pt1011 180)

                (setq c0 (1+ c0))
        )
)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2007-11-22 00:01:23 | 显示全部楼层
有点好奇直线旋转180度是基于什么样的目的;仅图面来看是没有什么变化
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-11-17 01:47 , Processed in 0.287037 second(s), 31 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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