明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 3741|回复: 10

[求助] 两个属性块的关联

[复制链接]
发表于 2010-8-17 15:51 | 显示全部楼层 |阅读模式
本帖最后由 作者 于 2010-8-24 23:37:25 编辑

各位前辈们,小弟现在又遇到了一个问题,特来求教

 将图则指标与控制指标 依据地块编码进行绑定

恳请赐教,谢谢~同时在此向Z版上次的帮助表示感谢

 

 哪位前辈可以提供一点思路啊~

或者提示我该优先学习那方面的知识~

现在主要面临两个问题,一个是从模型空间大量的控制指标块中(500多个块)搜索到需要的数据,

另一个是找到数据后如何在布局空间中绑定

我不是KO啊,

湘源除了没啥用之外功能还是蛮强大的,呵呵

由于湘源使用的是长沙市的制图标准,我们单位使用的是国家标准,不论在图层、道路交角、道路断面、用地性质分类上都存在非常大的区别,软件的功能非常强大,但是苦于一点都用不上,所以非常的郁闷,还希望各位前辈帮忙多多指教

 

 

 

控制指标    图则指标

地块编号 = 地块编号(绑定依据)

用地性质 = 用地性质

用地面积 = 用地面积

容积率    = 容积率

……           ……


本帖子中包含更多资源

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

x
 楼主| 发表于 2010-8-21 12:18 | 显示全部楼层
哎呀~石沉大海啦
 楼主| 发表于 2010-8-24 23:36 | 显示全部楼层

 哪位前辈可以提供一点思路啊~

或者提示我该优先学习那方面的知识~

现在主要面临两个问题,一个是从模型空间大量的控制指标块中(500多个块)搜索到需要的数据,

另一个是找到数据后如何在布局空间中绑定

我不是KO啊,

湘源除了没啥用之外功能还是蛮强大的,呵呵

由于湘源使用的是长沙市的制图标准,我们单位使用的是国家标准,不论在图层、道路交角、道路断面、用地性质分类上都存在非常大的区别,软件的功能非常强大,但是苦于一点都用不上,所以非常的郁闷,还希望各位前辈帮忙多多指教

发表于 2010-9-3 15:55 | 显示全部楼层
软件的功能非常强大
 楼主| 发表于 2010-9-6 12:12 | 显示全部楼层

可惜就是没用,所用的标准不一样,我们用国家标准的,就只能望洋兴叹了,

发表于 2010-9-14 20:19 | 显示全部楼层

简单的

 楼主| 发表于 2010-9-17 12:13 | 显示全部楼层
恳请赐教~
发表于 2010-9-18 13:05 | 显示全部楼层

表达不够清楚

 楼主| 发表于 2010-9-20 12:47 | 显示全部楼层

前辈,将问题最简化就是

如何将一个属性块中 属性的值 赋给另一个属性块对应的属性的值

谢谢~

 

 

发表于 2010-9-20 21:30 | 显示全部楼层
给你两个函数,gxl-BLK-GetAttValue 读取块属性值,gxl-BLK-VxSetAtts 设置块属性值
  1. ;;;===================================================================
  2. ;;;gxl-BLK-GetAttValue 从插入数据中返回指定属性标记的值
  3. ;|功能
  4. 从插入数据中返回指定属性标记的值
  5. 参数
  6. Ent:一个Insert图元。AttTag:一个代表属性标记名称的字符中。
  7. 示例
  8. (gxl-BLK-GetAttValue Ent "ID")
  9. 注意
  10. 以上例子将从Ent的图元数据范围返回属性标记为“ID”的图元数据,或如果属性标记未找到时返回空(nil)。
  11. 请留意:Ent必须是一个有效的插入图块(或属性)图元数据列表。
  12. |;
  13. ;;;===================================================================
  14. (defun gxl-BLK-GetAttValue (Obj AttTag / AttList)
  15.   (if (= (type obj) 'ENAME)
  16.     (setq obj (vlax-ename->vla-object Obj))
  17.     )
  18.   (setq AttList
  19.   (mapcar
  20.     '(lambda (Att)
  21.        (cons (vla-get-TagString Att)
  22.      (vla-get-TextString Att)
  23.        )
  24.      )
  25.     (vlax-invoke Obj "GetAttributes")
  26.   )
  27. );setq
  28.   
  29.   (cdr (assoc AttTag AttList))
  30. )
  31. ;;;===================================================================
  32. ;;;gxl-BLK-SetAtts 设置块中属性
  33. ;|VxSetAtts - Sets?attribute values to block
  34. 函数名: gxl-BLK-VxSetAtts
  35. 功  能: 设置块中属性
  36. Copyright: ?000 MENZI ENGINEERING GmbH, Switzerland
  37. 参数 [类型]:
  38.     Obj = Object [VLA-OBJECT]
  39.     Lst = 点表 '(("Tag1" . "Val1")...) [LIST]
  40. 返回值[类型]: nil
  41. |;
  42. ;;;===================================================================
  43. (defun gxl-BLK-VxSetAtts (Obj Lst / AttVal)
  44.   (if (= (type obj) 'ENAME)
  45.     (setq obj (vlax-ename->vla-object Obj))
  46.     )
  47.   (mapcar
  48.     '(lambda (Att)
  49.        (if (setq AttVal (cdr (assoc (vla-get-TagString Att) Lst)))
  50. (vla-put-TextString Att AttVal)
  51.        )
  52.      )
  53.     (vlax-invoke Obj "GetAttributes")
  54.   )
  55.   (vla-update Obj)
  56.   (princ)
  57. )
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-4-27 09:42 , Processed in 0.490342 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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