找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

楼主: qq2222081387

[求助] 反应器问题求助

[复制链接]

已领礼包: 19个

财富等级: 恭喜发财

发表于 2018-11-27 18:50:07 | 显示全部楼层
qq2222081387 发表于 2018-11-27 18:21
请问一下  在反应器里面用将 -3 组码加人列表    用entmod 更新列表 CAD就崩溃     在反应器里面应该用什 ...

反应器里面别用 entget ,entmod,entmake这样的
用vla-getxdata, vla-setxdata
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 20个

财富等级: 恭喜发财

发表于 2018-11-27 19:22:00 | 显示全部楼层
qq2222081387 发表于 2018-11-27 18:21
请问一下  在反应器里面用将 -3 组码加人列表    用entmod 更新列表 CAD就崩溃     在反应器里面应该用什 ...

帮助文件例子

  1. (vl-load-com)
  2. (defun c:Example_SetXData()
  3.     ;; This example creates a line and attaches extended data to that line.
  4.     (setq acadObj (vlax-get-acad-object))
  5.     (setq doc (vla-get-ActiveDocument acadObj))
  6.    
  7.     ;; Create the line
  8.     (setq startPt (vlax-3d-point 1 1 0)
  9.           endPt (vlax-3d-point 5 5 0))
  10.     (setq modelSpace (vla-get-ModelSpace doc))
  11.     (setq lineObj (vla-AddLine modelSpace startPt endPt))
  12.     (vla-ZoomAll acadObj)

  13.     ;; Initialize all the xdata values. Note that first data in the list should be
  14.     ;; application name and first datatype code should be 1001
  15.     (setq DataType (vlax-make-safearray vlax-vbInteger '(0 . 9)))
  16.     (setq Data (vlax-make-safearray vlax-vbVariant '(0 . 9)))

  17.     (vlax-safearray-put-element DataType 0 1001)
  18.     (vlax-safearray-put-element Data 0 "Test_Application")

  19.     (vlax-safearray-put-element DataType 1 1000)
  20.     (vlax-safearray-put-element Data 1 "This is a test for xdata")

  21.     ;; layer
  22.     (vlax-safearray-put-element DataType 2 1003)
  23.     (vlax-safearray-put-element Data 2 "0")

  24.     ;; real
  25.     (vlax-safearray-put-element DataType 3 1040)
  26.     (vlax-safearray-put-element Data 3 1.23479137438413E+40)

  27.     ;; distance
  28.     (vlax-safearray-put-element DataType 4 1041)
  29.     (vlax-safearray-put-element Data 4 1237324938)
  30.   
  31.     ;; 16 bit Integer
  32.     (vlax-safearray-put-element DataType 5 1070)
  33.     (vlax-safearray-put-element Data 5 32767)

  34.     ;; 32 bit Integer
  35.     (vlax-safearray-put-element DataType 6 1071)
  36.     (vlax-safearray-put-element Data 6 32767)

  37.     ;; scaleFactor
  38.     (vlax-safearray-put-element DataType 7 1042)
  39.     (vlax-safearray-put-element Data 7 10)

  40.     ;; 3D point
  41.     (setq reals3 (vlax-3d-point -2.95 100 -20))
  42.     (vlax-safearray-put-element DataType 8 1010)
  43.     (vlax-safearray-put-element Data 8 reals3)
  44.    
  45.     ;; world space position
  46.     (setq worldPos (vlax-3d-point 4 400.99999999 2.798989))
  47.     (vlax-safearray-put-element DataType 9 1011)
  48.     (vlax-safearray-put-element Data 9 worldPos)
  49.    
  50.     ;; Attach the xdata to the line
  51.     (vla-SetXData lineObj DataType Data)
  52.    
  53.     ;; Return the xdata for the line
  54.     (vla-GetXData lineObj "" 'xtypeOut 'xdataOut)
  55. )


GETXDATA

  1. (vl-load-com)
  2. (defun c:Example_GetXData()
  3.     ;; This example creates a line and attaches extended data to that line.
  4.     (setq acadObj (vlax-get-acad-object))
  5.     (setq doc (vla-get-ActiveDocument acadObj))
  6.    
  7.     ;; Create the line
  8.     (setq startPt (vlax-3d-point 1 1 0)
  9.           endPt (vlax-3d-point 5 5 0))
  10.     (setq modelSpace (vla-get-ModelSpace doc))
  11.     (setq lineObj (vla-AddLine modelSpace startPt endPt))
  12.     (vla-ZoomAll acadObj)

  13.     ;; Initialize all the xdata values. Note that first data in the list should be
  14.     ;; application name and first datatype code should be 1001
  15.     (setq DataType (vlax-make-safearray vlax-vbInteger '(0 . 9)))
  16.     (setq Data (vlax-make-safearray vlax-vbVariant '(0 . 9)))

  17.     (vlax-safearray-put-element DataType 0 1001)
  18.     (vlax-safearray-put-element Data 0 "Test_Application")

  19.     (vlax-safearray-put-element DataType 1 1000)
  20.     (vlax-safearray-put-element Data 1 "This is a test for xdata")

  21.     ;; layer
  22.     (vlax-safearray-put-element DataType 2 1003)
  23.     (vlax-safearray-put-element Data 2 "0")

  24.     ;; real
  25.     (vlax-safearray-put-element DataType 3 1040)
  26.     (vlax-safearray-put-element Data 3 1.23479137438413E+40)

  27.     ;; distance
  28.     (vlax-safearray-put-element DataType 4 1041)
  29.     (vlax-safearray-put-element Data 4 1237324938)
  30.   
  31.     ;; 16 bit Integer
  32.     (vlax-safearray-put-element DataType 5 1070)
  33.     (vlax-safearray-put-element Data 5 32767)

  34.     ;; 32 bit Integer
  35.     (vlax-safearray-put-element DataType 6 1071)
  36.     (vlax-safearray-put-element Data 6 32767)

  37.     ;; scaleFactor
  38.     (vlax-safearray-put-element DataType 7 1042)
  39.     (vlax-safearray-put-element Data 7 10)

  40.     ;; 3D point
  41.     (setq reals3 (vlax-3d-point -2.95 100 -20))
  42.     (vlax-safearray-put-element DataType 8 1010)
  43.     (vlax-safearray-put-element Data 8 reals3)
  44.    
  45.     ;; world space position
  46.     (setq worldPos (vlax-3d-point 4 400.99999999 2.798989))
  47.     (vlax-safearray-put-element DataType 9 1011)
  48.     (vlax-safearray-put-element Data 9 worldPos)
  49.    
  50.     ;; Attach the xdata to the line
  51.     (vla-SetXData lineObj DataType Data)
  52.    
  53.     ;; Return the xdata for the line
  54.     (vla-GetXData lineObj "" 'xtypeOut 'xdataOut)
  55. )
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 7个

财富等级: 恭喜发财

 楼主| 发表于 2018-11-28 13:04:45 | 显示全部楼层
newer 发表于 2018-11-27 14:40
扩展实体  搜索论坛

又遇到问题了 帮忙看一下可以吗
1.有个疑问 我构造的是 :vlr-objectModified   对象已被修改  数据库反应器   
现在将    “扩展实体数据”  加入圆中   算修改对象吗? 会不会无限循环下去

2.我用的是论坛中的代码 添加的数据
http://bbs.xdcad.net/forum.php?m ... ht=Xdata&page=1
出现下面的错误提示
“错误: Automation 错误。 对象已打开进行读取”

点评

安装晓东工具箱 打开系统监视器,都勾上,然后你设置扩展实体数据,看看命令行都提示你做什么了 (xdrx_object_setxdata (entlast) "abc" 1) [attachimg]82051[/attachimg] [attachimg]82052[/attachimg]  详情 回复 发表于 2018-11-28 13:22
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 40个

财富等级: 招财进宝

发表于 2018-11-28 13:22:28 | 显示全部楼层
qq2222081387 发表于 2018-11-28 13:04
又遇到问题了 帮忙看一下可以吗
1.有个疑问 我构造的是 :vlr-objectModified   对象已被修改  数据库反 ...

安装晓东工具箱

打开系统监视器,都勾上,然后你设置扩展实体数据,看看命令行都提示你做什么了

(xdrx_object_setxdata (entlast) "abc" 1)

搜狗截图20181128132130.png

搜狗截图20181128132058.png
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 7个

财富等级: 恭喜发财

 楼主| 发表于 2018-12-8 10:14:42 | 显示全部楼层
引入VBA字典达到想要的效果了   有兴趣的可以去看一下   http://bbs.xdcad.net/thread-719072-1-1.html
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-4-20 03:45 , Processed in 0.317008 second(s), 40 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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