明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2773|回复: 10

[讨论] 用Entmake创建属性块时碰到问题!搞测绘的有没有?请教个问题【已解决】

[复制链接]
发表于 2013-7-29 15:14 | 显示全部楼层 |阅读模式
本帖最后由 陈亚娣 于 2013-7-29 16:49 编辑

搞测绘的有没有?
(Defun C:2 ()
  (Setq Blc (* (/ (Getvar "Userr1") 1000.0) 1.0))
  (Setq Scale Blc)
  (Setq P1 (List 200 200 2.356))
  (Setq Height (Caddr P1))
  (Entmake (List
             '(0 . "Insert")
             '(100 . "Acdbentity")
             '(100 . "Acdbblockreference")
             '(66 . 1);;;属性跟随标志,1跟随,0不跟随
             (Cons 2 "Gc200")
             (Cons 10 P1)
             (Cons 8 "Gcd")
             (Cons 41 Scale)                ;Scale比例大小
             (Cons 42 Scale)                ;Scale比例大小
             (Cons 43 Scale)                ;Scale比例大小
             '(-3 ("South" (1000 . "202101")))
           )
  )
;;;插入属性
  (Entmake (List
             '(0 . "Attrib")
             '(100 . "Acdbentity")
             '(100 . "Acdbtext")
             (Cons 10 (Setq Pt (Polar P1 0 (* 1.2 Scale))))
                                        ;Scale比例大小
             (Cons 40 (* 2.0 Scale))        ;Scale比例大小
             (Cons 50 0)
             (Cons 41 0.8)
             (Cons 51 0)
             (Cons 1 Height);Height高程注记
             (Cons 7 "Hz")
             (Cons 72 0)
             (Cons 11 Pt)
             '(100 . "Acdbattribute")
             (Cons 2 "Height")
             (Cons 70 0)
             (Cons 74 2)
           )
  )
;;;结束标志
  (Entmake '((0 . "SEQEND")))
)
这段代码中的(Cons 1 Height);Height高程注记,运行到这就出现DXF码错误!要怎么处理?
求解猫老师、高手能人

有时也会出现冲突或无法创建复杂对象这些情况

发表于 2014-6-28 09:44 | 显示全部楼层
(Cons 1 Height);Height高程注记更改为(Cons '1 Height);1前面加个单引号应该就可以用的
回复 支持 1 反对 0

使用道具 举报

发表于 2014-6-28 10:04 | 显示全部楼层
(Setq Height (Caddr P1))改为(Setq Height (rtos(Caddr P1)))加上rtos函数把高程值转换为字符串
回复 支持 1 反对 0

使用道具 举报

发表于 2013-7-29 15:23 | 显示全部楼层
本问题似乎并非测绘专业问题
在调试状态下运行,出错后,看height的值,应该能判断处出错的原因
(猜测:height非文本或nil)
 楼主| 发表于 2013-7-29 15:25 | 显示全部楼层
Student 发表于 2013-7-29 15:23
本问题似乎并非测绘专业问题
在调试状态下运行,出错后,看height的值,应该能判断处出错的原因
(猜测: ...

运行后height的值是2.356!是有值的!但是我不会分是不是非文本或者是什么!
发表于 2013-7-29 16:47 | 显示全部楼层
陈亚娣 发表于 2013-7-29 15:25
运行后height的值是2.356!是有值的!但是我不会分是不是非文本或者是什么!

(Cons 1 Height);Height高程注记  中的1后面不能是数字,字符可以,Autodesk公司可能对组码前缀做了限制

点评

谢谢你的解答,现在已经解决了  发表于 2013-7-29 16:48
发表于 2014-4-13 17:15 | 显示全部楼层
解决了共亨下吧老大~
 楼主| 发表于 2014-4-14 07:40 | 显示全部楼层
flytoday 发表于 2014-4-13 17:15
解决了共亨下吧老大~

;;(setq XPOINT '(100 100 3.56))
(defun vl_gc200()
(Setq Blc (* (/ (Getvar "Userr1") 1000.0) 1.0))
  (Setq Scale Blc)
  (setq Height (caddr XPOINT))
  (Entmake (List
             '(0 . "Insert")
             '(100 . "Acdbentity")
             ;'(100 . "Acdbblockreference")
             ;'(66 . 1);;;属性跟随标志,1跟随,0不跟随
             (Cons 2 "Gc200")
             (Cons 10 XPOINT)
             (Cons 8 "GCD")
             (Cons 41 Scale)                ;Scale比例大小
             (Cons 42 Scale)                ;Scale比例大小
             (Cons 43 Scale)                ;Scale比例大小
             '(-3 ("SOUTH" (1000 . "202101")))
           )
             )
   )
发表于 2014-4-14 08:45 | 显示全部楼层
命令: 2
; 错误: 参数类型错误: numberp: nil

点评

你怎么测试的?还有你有没有“GC200”块?我这边测试没问题啊~  发表于 2014-4-14 09:59
 楼主| 发表于 2014-4-14 10:04 | 显示全部楼层
本帖最后由 陈亚娣 于 2014-4-14 10:06 编辑
flytoday 发表于 2014-4-14 08:45
命令: 2
; 错误: 参数类型错误: numberp: nil
;;测试前你先设置好比例试试
(defun vl_gc200()
(setq XPOINT '(100 100 3.56))
(Setq Blc (* (/ (Getvar "Userr1") 1000.0) 1.0));;计算插入点比例
  (Setq Scale Blc)
  (setq Height (caddr XPOINT))
  (Entmake (List
             '(0 . "Insert")
             '(100 . "Acdbentity")
             ;'(100 . "Acdbblockreference")
             ;'(66 . 1);;;属性跟随标志,1跟随,0不跟随
             (Cons 2 "Gc200")
             (Cons 10 XPOINT)
             (Cons 8 "GCD")
             (Cons 41 Scale)                ;Scale比例大小
             (Cons 42 Scale)                ;Scale比例大小
             (Cons 43 Scale)                ;Scale比例大小
             '(-3 ("SOUTH" (1000 . "202101")))
           )
             )
   )


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

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

本版积分规则

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

GMT+8, 2024-4-19 14:24 , Processed in 0.213687 second(s), 28 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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