明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 5533|回复: 7

[已解答] LSP可正常运行,却出现“未知命令”。

[复制链接]
发表于 2013-12-13 21:02:24 | 显示全部楼层 |阅读模式
LSP可正常运行,但在再次空格的时候出现:未知命令XD.
请各位大神帮忙看看

;;画一个矩形,用云线代替,引出注释文字
(defun c:xd( / cm name os en1 x db p1 p2 p3 p4 en2 orth en3)
(if (=(tblobjname "LAYER" "修订云线-OU") nil)
        (progn
        (COMMAND "-LAYER" "M" "修订云线-OU" "C" "3" "" "" "N" "" "")
        ))
(if (=(tblobjname "STYLE" "TSSD_Rein") nil)
        (progn
        (entmake (list '(0 . "STYLE")
                       '(100 . "AcDbSymbolTableRecord")
                       '(100 . "AcDbTextStyleTableRecord")
                       '(2 . "TSSD_Rein")
                       '(70 . 0)
                       '(40 . 0)
                       '(41 . 0)
                       '(3 . "tssdeng.shx")
                       '(4 . "hztxt.shx")))))
  (prompt "框选云线 By-OU")
  (setq cm (getvar "cmdecho"))
  (setvar "cmdecho" 0)
  (setq name (getvar "clayer"))
  (setvar "clayer" "修订云线-OU")
  (setq os (getvar "osmode"))
  (setvar "osmode" 0)
  (setq orth (getvar "orthomode"))
  (setvar "orthomode" 0)
  (command "_rectang" pause pause)
  (setq en1 (entlast))
  (setq db (vl-remove-if 'not (mapcar '(lambda (x) (if (= (car x) 10) (cdr x))) (entget en1))))
  (setq p1(cadr db) p2(last db))
  (setq p3(polar p1 (angle p1 p2) (/ (distance p1 p2) 2)))
  (command "_revcloud" "a" "600" "" "s" "c" "o" "" en1 "N")
  (setq en2(entlast))
  (command "_line" p3 (setq p4(getpoint p3 "\n请输入直线第二点")) "" "")
  (command "trim" en2 "" p3 "")
  (entmake (list
               (cons 0 "TEXT")
               (cons 100 "AcDbText")
               (cons 1 "请输入文字内容")
               (cons 10 p4)               
               (cons 40 2000)
               (cons 7 "TSSD_Rein")
               (cons 8 "修订云线-OU")
               (cons 41 0.7)
               (cons 73 (cond ((>= (cadr p4) (cadr p3)) 1)
                        (t 3)))
               (cons 72 1)
               (cons 11 p4)
               ))
  (setq en3(entlast))
  (command "_ddedit" en3 "" pause)
  (setvar "orthomode" orth)
  (setvar "osmode" os)
  (setvar "cmdecho" cm)
  (setvar "clayer" name)
  (princ)
)

发表于 2013-12-13 21:32:20 | 显示全部楼层
本帖最后由 edata 于 2013-12-13 23:10 编辑

(command "_line" p3 (setq p4(getpoint p3 "\n请输入直线第二点")) "" )
或者 (command "_line" p3 (setq p4(getpoint p3 "\n请输入直线第二点")) nil )


(command "_ddedit" en3  "")
回复 支持 1 反对 0

使用道具 举报

发表于 2013-12-13 21:19:55 来自手机 | 显示全部楼层
应该是那个地方空格多了吧
 楼主| 发表于 2013-12-14 00:36:44 | 显示全部楼层
edata 发表于 2013-12-13 21:32
(command "_line" p3 (setq p4(getpoint p3 "\n请输入直线第二点")) "" )
或者 (command "_line" p3 (setq ...

多谢
顺便问一下,如果不用command “_ddedit”,怎么让文字处于编辑状态。
发表于 2013-12-14 00:45:33 | 显示全部楼层
ou_y_x 发表于 2013-12-14 00:36
多谢。
顺便问一下,如果不用command “_ddedit”,怎么让文字处于编辑状态。

平时都是通过getstring或者dcl对话框获取输入文本,所知有限,也只有ddedit很好。
发表于 2013-12-15 09:37:44 | 显示全部楼层
ou_y_x 发表于 2013-12-13 06:36
多谢。
顺便问一下,如果不用command “_ddedit”,怎么让文字处于编辑状态。

(command "ddedit" (entlast))
发表于 2015-1-27 00:41:35 | 显示全部楼层
非常感谢!正在学习中!!!
发表于 2020-8-24 20:08:19 | 显示全部楼层
(vl-load-com)加这个试试
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-23 09:13 , Processed in 0.183759 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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