因此,我已经从在模板文件中包含块转移到使用AutoLISP脚本来检查块是否存在,如果还没有,则创建它们。
以下是中心线的示例:
- (defun C:CL()
- (if (not (tblsearch "BLOCK" "CL"))
- (progn
- (entmakex (list (cons 0 "BLOCK")
- (cons 100 "AcDbEntity")
- (cons 100 "AcDbBlockReference")
- (cons 67 0)
- (cons 8 "0")
- (cons 2 "CL")
- (cons 10 (list 0 0 0))
- (cons 70 0)))
- (entmakex (list (cons 0 "LINE")
- (cons 8 "MSGuidelines")
- (cons 10 (list 0 0 0))
- (cons 11 (list 0 6000 0))
- (cons 62 256)))
- (entmakex (list (cons 0 "LINE")
- (cons 6 "Phantom2")
- (cons 8 "Annotations")
- (cons 10 (list 0 0 0))
- (cons 11 (list 0 6000 0))
- (cons 48 100)
- (cons 62 256)))
- (entmakex (list (cons 0 "ENDBLK")
- (cons 100 "AcDbBlockEnd")
- (cons 8 "0")))
- (command "insert" "CL" "S" "1" "R" "0")
- )
- (command "insert" "CL" "S" "1" "R" "0")
- )
- (princ)
- ) ;End defun CL
我发现,如果我在另一个脚本中尝试以下代码行
我得到的消息是,命令CL不存在,即使它本身运行良好。难道不能使用“命令”来调用自定义脚本吗? |