明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2649|回复: 3

利用两点插入图框(刚出炉的)

[复制链接]
发表于 2006-8-20 17:41:00 | 显示全部楼层 |阅读模式

(defun c:er (/ point1 point2 pt_x1 pt_x2 pt_y1 pt-y2
      ptmid_x ptmid_y mid mult_x mult_y mult_xy inpoint_x inpoint_y inpoint_xy)
  (princ "\n插入图框——枫之钣金制作室")
  (setvar "pickfirst" 0)
  (setvar "cmdecho" 0)
  (setvar "attdia" 1)
     ;选取矩形状
  (setq point1 (getpoint "\n输入插入点:")
 point2 (getcorner point1 "\n输入对角点:")
 pt_x1 (car point1)
 pt_y1 (cadr point1)
 pt_x2 (car point2)
 pt_y2 (cadr point2)
 ptmid_x (ABS (- pt_x1 pt_x2))
 ptmid_y (ABS (- pt_y1 pt_y2))
  )

     ;获取矩形状的中心
  (COND
    ((> pt_x1 pt_x2)
     (cond
       ((> pt_y1 pt_y2)
 (setq mid_x (+ pt_x2 (/ ptmid_x 2))
       mid_y (+ pt_y2 (/ ptmid_y 2))
       mid   (list mid_x mid_y)
 )
       )
       ((< pt_y1 pt_y2)
 (setq mid_x (+ pt_x2 (/ ptmid_x 2))
       mid_y (+ pt_y1 (/ ptmid_y 2))
       mid   (list mid_x mid_y)
 )
       )
       (T (princ "\n选取错误"))
     )
    )
    ((< pt_x1 pt_x2)
     (cond
       ((> pt_y1 pt_y2)
 (setq mid_x (+ pt_x1 (/ ptmid_x 2))
       mid_y (+ pt_y2 (/ ptmid_y 2))
       mid   (list mid_x mid_y)
 )
 (princ)
       )
       ((< pt_y1 pt_y2)
 (setq mid_x (+ pt_x1 (/ ptmid_x 2))
       mid_y (+ pt_y1 (/ ptmid_y 2))
       mid   (list mid_x mid_y)
 )
       )
       (T (princ "\n选取错误"))
     )
    )
    (T (princ "\n选取错误"))
  )

     ;根据矩形的形状判别与图块的相应比例
  (setq mult_x (rtos (/ ptmid_x 360.0) 2 2)
 mult_y (rtos (/ ptmid_y 240.00) 2 2)
  )
  (cond
    ((or (/= mult_x "0.00") (/= mult_y "0.00"))
     (cond
       ((> mult_x mult_y)
 (setq mult_xy mult_x)
       )
       ((< mult_x mult_y)
 (setq mult_xy mult_y)
       )
       ((= mult_x mult_y)
 (setq mult_xy mult_x)
       )
       (T (princ "\n选取错误!"))
     )
    )
    ((and (= mult_x "0.00") (= mult_y "0.00"))
     (setq mult_xy "0.01")
    )
    (T (princ "选取错误"))
  )

     ;获取插入点,并插入图块

;其中f:/cad/block/a3.dwg为图框放置位置,图框插入点要设置为0,0
  (setq inpoint_x  (- mid_x (* (read mult_xy) (+ 210 )))
 inpoint_y  (- mid_y (* (read mult_xy) 160))
 inpoint_xy (list inpoint_x inpoint_y)
  )
  (command "-insert"
    "f:/cad/block/a3.dwg"
    (princ inpoint_xy)
    (princ mult_xy)
    (princ mult_xy)
    "0"
  )
  (princ)
  (princ)
  (princ "\n图框插入成功!!!!!")
  (setvar "cmdecho" 1)
  (setvar "pickfirst" 1)
  (setvar "attdia" 0)
  (PRINC)
)

本帖子中包含更多资源

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

x
发表于 2006-8-22 12:21:00 | 显示全部楼层
文字及线型和注标的比例问题,如何解决呢,最好,能自动修改。
发表于 2006-8-29 19:19:00 | 显示全部楼层
学习学习
发表于 2010-6-27 22:43:00 | 显示全部楼层

先下载学习学习

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

本版积分规则

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

GMT+8, 2024-10-2 06:29 , Processed in 0.158430 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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