找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 820|回复: 0

[求助] [求助]:高手请进,帮我看下这个程序

[复制链接]
发表于 2008-4-5 21:21:22 | 显示全部楼层 |阅读模式

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

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

×
此程序是将座标尺寸调整与源尺寸对齐的,但是当座标尺寸用“拉伸”命令拉伸过后,就没反应了,请帮我看下,是哪里出错了
****************************************************
;;对齐座标尺寸线
(defun cancel (AA) (princ))
(defun C:dq
        (/
         ;|cdatr enz px py n xpt dqfx s1 ss en ent pt cmd|;
        )
  (setq *error* cancel)
  (vl-load-com)
  (setq cdatr (rtos (getvar "cdate") 2 8))
  (setq cmd (getvar "cmdecho"))
  (setvar "cmdecho" 0)
  (command "ucs" "save" cdatr)
  (command "ucs" "W")
  (setq s1 (entsel "\n请选择参照尺寸:"))
  (setq    enz (entget (car s1))
    pt1 (assoc 14 enz)
    px  (cadr pt1)
    py  (caddr pt1)
    n   0
  )
  (setq xpt (cdr (assoc 70 enz)))
  (if (or (= xpt 38) (= xpt 166))
    (setq dqfx 38)
  )                    ;判定为y方向
  (if (or (= xpt 102) (= xpt 230))
    (setq dqfx 102)
  )                    ;判定为x方向
  (progn (if (= dqfx 38)        ;y方向的选择集
       (setq ss (ssget
              '((-4 . "<or")
            (70 . 38)
            (70 . 166)
            (-4 . "or>")
               )
            )
       )
     )
     (if (= dqfx 102)        ;x方向的选择集
       (setq ss (ssget
              '((-4 . "<or")
            (70 . 102)
            (70 . 230)
            (-4 . "or>")
               )
            )
       )
     )
     (if ss
       (repeat (sslength ss)
         (setq en (ssname ss N))
         (setq ent (entget en))
         (progn (if    (= dqfx 38)    ;如果为y方向,重组座标
              (setq pt (list px
                     (caddr (assoc 14 ent))
                     (cadddr (assoc 14 ent))
                   )
              )
            )
            (if    (= dqfx 102)    ;如果为x方向,重组座标
              (setq pt (list (cadr (assoc 14 ent))
                     py
                     (cadddr (assoc 14 ent))
                   )
              )
            )
         )
         (setq ent (subst (cons 14 pt) (assoc 14 ent) ent))
         (setq N (1+ N))
         (entmod ent)
         (entupd en)
       )
     )
  )
  (command "ucs" "Restore" cdatr)
  (command "ucs" "DEL" cdatr)
  (setvar "cmdecho" cmd)
  (princ)
)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-11-22 10:26 , Processed in 0.347043 second(s), 31 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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