(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)
)



网友答: 文字及线型和注标的比例问题,如何解决呢,最好,能自动修改。

网友答: 学习学习

网友答:

先下载学习学习



网友答: 学习,就是图框能在限定的常用的比例上就好了。
  • 上一篇:【Gu_xl】内容齐全的函数库源码集合下载
  • 下一篇:没有了