coolpoom大虾,你不要生气。程序我绝对是都试过的,一直都为解决这个问题而努力。请看2楼程序的执行情况。我是新建一个autocad加载运行的。文件保存的名字为新建 文本文档.lsp。 命令: ap APPLOAD 已成功加载 新建 文本文档.lsp。 命令: 命令: 命令: tt DIMALIGNED 指定第一条尺寸界线原点或 <选择对象>: 指定第二条尺寸界线原点: 创建了无关联的标注。 指定尺寸线位置或 [多行文字(M)/文字(T)/角度(A)]: nil
指定尺寸线位置或 [多行文字(M)/文字(T)/角度(A)]: 标注文字 = 37.8885 命令: !data ///////查看data变量时发现为nil,有异常 nil /////下面我接着又试了一次 命令: tt DIMALIGNED 指定第一条尺寸界线原点或 <选择对象>: 指定第二条尺寸界线原点: 创建了无关联的标注。 指定尺寸线位置或 [多行文字(M)/文字(T)/角度(A)]: <图元名: 7efb7430> 指定尺寸线位置或 [多行文字(M)/文字(T)/角度(A)]: 标注文字 = 39.3508 命令: !data <图元名: 7efb7430> ////这次获取了图元名,正常 接着清空data,试验有文字替代的情况: 命令: (setq data nil) nil 命令: tt DIMALIGNED 指定第一条尺寸界线原点或 <选择对象>: 指定第二条尺寸界线原点: 创建了无关联的标注。 指定尺寸线位置或 [多行文字(M)/文字(T)/角度(A)]: <图元名: 7efb74a8> 指定尺寸线位置或 [多行文字(M)/文字(T)/角度(A)]: t 输入标注文字 <37.4207>: 300 指定尺寸线位置或 [多行文字(M)/文字(T)/角度(A)]: 标注文字 = 37.4207 命令: !data <图元名: 7efb74a8> //////这次正常获取了。
以上就是2楼程序的调试结果。我发现每次新建一个autocad加载运行都是不正常的,以后就能正常获取data。 我思考了下原因,发现每次获得的data实际上是上一次生成的标注!这是为什么?不可理解。 我用的是autocad2008. 我第一次试程序的时候第一步没有得到结果就放弃了,没有深入,这是我的错误。衷心感谢coolpoom大侠的帮助!
|