明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1159|回复: 0

帮忙看看,图框能做,为什么不是块属性的。

[复制链接]
发表于 2009-2-20 13:22:00 | 显示全部楼层 |阅读模式

;;;   此程序用于绘制图框.
;;;-------------------------------------------------------------------------

(setq i (getvar "dimscale")) ;获取比例
(setvar "regenmode" 1) ;保证AutoCAD不询问是否重新生成
(setvar "cmdecho" 0) ;屏蔽command显示
(setq cl (getvar "clayer") osm (getvar "osmode"))
(command "limits" "OFF")
(setvar "osmode" 0)
(initget "0 1 2 3 4")
(princ "\nSMCAD-LSP, 绘制图框 ...")
(setq tf (getkword "\n选择标准图幅(0-4)<4>:"))
(if (not tf) (setq tf 4) (setq tf (atoi tf)))
(if (= tf 4) (progn
    (initget "Hor Ver")
    (setq hv (getkword "\nStyle(Ver/Hor)<Ver>:"))
    (if (not hv) (setq hv "Ver"))
    (if (= hv "Hor") (setq bb 210. ll 297.) (setq bb 297. ll 210.))) ROGN
) ;if
(cond ((= tf 0) (setq bb 841. ll 1188.))  ;841x1188
      ((= tf 1) (setq bb 594. ll 841.))   ;546X841
      ((= tf 2) (setq bb 420. ll 594.))
      ((= tf 3) (setq bb 297. ll 420.))
) ;COND
(setq aa 25 I II)
(if (< tf 3) (setq cc 10) (setq cc 5))
(setq aa (* aa i) ll (* ll i) bb (* bb i) cc (* cc i))
(command "layer" "s" "0" "")
(command "pline" '(0 0) "W" (* I 0.5) (* I 0.5)
    (polar '(0 0) 0 (- ll aa cc))
    (polar (getvar "lastpoint") (/ pi 2) (- bb cc cc))
    (polar '(0 0) (/ pi 2) (- bb cc cc)) "cl")
(command "layer" "s" "0" "")
(command "pline"
    (SETQ PTI (list (- aa) (- cc))) "w" 0 0
    (polar (getvar "lastpoint") 0 ll)
    (SETQ PTM (polar (getvar "lastpoint") (/ pi 2) bb))
    (polar (list (- aa) (- cc)) (/ pi 2) bb) "cl")
(command "limits" (polar PTI -2.356 i) (polar PTM 0.785 i)
         "ZOOM" "E")
(setq fn (strcat " FILE NAME: " (strcase (getvar "DWGNAME")) ".DWG"))
(COMMAND "insert" "/block/sign.dwg" "0,0" i i 0
         "TEXT" (LIST (* -1.5 i) (* 105 I)) (* I 3) 90 FN)
(command "layer" "s" cl "")
(setvar "osmode" osm)
(princ)
(defun c:autostbk()
(princ "\nAuto CAMD (Ver.szp), Automatic-set a block...")
(setq osmode_save (getvar "osmode"))
(setvar "osmode" 0)
(setq sss (ssget "_X"))
(if sss (progn
        (setq cd (rtos (getvar "cdate") 2 6))
        (setq cd (substr cd (- (strlen cd) 5)))
        (command "block" (strcat "auto-set-" cd) (getvar "viewctr") sss "")
        (command "insert" (strcat "auto-set-" cd) (getvar "viewctr") 1 1 0)
        ) ;progn
) ;if
(setvar "osmode" osmode_save)
(princ)
)
(c:autostbk)

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

本版积分规则

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

GMT+8, 2025-7-29 10:34 , Processed in 0.175434 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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