明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
12
返回列表 发新帖
楼主: blade2002

[求助]找高手帮忙写个LISP小程序

  [复制链接]
发表于 2007-7-20 12:38:00 | 显示全部楼层
本帖最后由 作者 于 2007-7-20 13:04:47 编辑

(defun c:j (/ v_cmd)
  (setq v_cmd (getvar "cmdecho"))
  (setvar "cmdecho" 0)
  (go)
  (setvar "cmdecho" v_cmd)
)
(defun go ( / a b on1 on2 enta entb temp pt1 pt2 pt3 pt4 ang1 ang2 v_pic
     pta ptb)
  (setq on1 t)
  (setq on2 t)
  (while on1
    (if (setq
   a
    (car
      (entsel (print "选取一个图块)"))
    )
 )
      (progn
 (print "---->")
 (print "------->")
 (print "---------->")
 (while on2
   (if
     (setq b
     (car
       (entsel
         (print "选取直线")
       )
     )
     )
      (if (not (equal a b))
        (setq on2 nil)
      )
   )
 )
 (setq on1 nil)
      )
    )
  )
  (setq enta (entget a))
  (setq entb (entget b))
  (entmake enta)
  (setq temp (entlast))
  (command "explode" temp "")
  (setq temp (entlast))
  (setq pt1 (cdr (assoc 10 (entget temp))))
  (setq pt2 (cdr (assoc 11 (entget temp))))
  (setq pt3 (cdr (assoc 10 entb)))
  (setq pt4 (cdr (assoc 11 entb)))
  (setq pta (list (/ (+ (car pt1) (car pt2)) 2)
    (/ (+ (cadr pt1) (cadr pt2)) 2)
    (/ (+ (last pt1) (last pt2)) 2)
     )
  )
  (setq ang1 (angle pt1 pt2))
  (setq ang2 (angle pt3 pt4))
  (entdel (entlast))
  (setq v_pic (getvar "pickstyle"))
  (setvar "pickstyle" 0)
  (setq ptb (getpoint "选择打断点"))
  (setvar "pickstyle" v_pic)
  (command "break" b ptb "@" "")
  (command "move" a "" pta ptb)
  (command "rotate"
    a
    ""
    ptb
    (angtos (- ang2 (/ pi 2) ang1))
    ""
  )
  (go)
)
发表于 2007-7-20 12:41:00 | 显示全部楼层
本帖最后由 作者 于 2007-7-20 13:16:13 编辑

你把捕捉打开再用

发表于 2007-7-20 12:46:00 | 显示全部楼层
9楼的,不好用。把块给炸了
发表于 2007-7-20 13:00:00 | 显示全部楼层

楼上的你看仔细了,我炸的是(entmake)之后的(entlast),就是重新复制了一个后才炸开的,原来的那个根本没碰!

发表于 2007-7-20 14:35:00 | 显示全部楼层

http://acad.net.cn/viewthread.php?tid=247&extra=page%3D1

我也写了一个,效果还不错。要不试试!

发表于 2007-7-20 16:17:00 | 显示全部楼层

你写的第一个我测了一下,为什么变平行了?

 楼主| 发表于 2007-7-20 16:18:00 | 显示全部楼层
本帖最后由 作者 于 2007-7-20 16:23:07 编辑

没想到一会儿就有了3个程序,试了一下都达到了我的目的,真棒!

再次感谢大家的关注,感谢ZZXXQQ,nonsmall,carrot1983的帮忙

程序我收藏了

 楼主| 发表于 2007-7-20 17:54:00 | 显示全部楼层
nonsmall发表于2007-7-20 16:17:00你写的第一个我测了一下,为什么变平行了?

carrot1983写的那个图块要水平放置的

发表于 2007-7-20 18:22:00 | 显示全部楼层
支持楼上。。。呵呵
发表于 2007-7-21 13:56:00 | 显示全部楼层
我倒,一楼的图块好像是垂直的吧,呵呵,不过楼上都是强人啊
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-6-20 10:53 , Processed in 0.186294 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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