kyky1002 发表于 2020-9-11 22:56:14

块属性导出导入excel

忘记在哪里下载的了,应该是有人整合的Lee Mac的作品,不过第一步导出到csv就出错,显示“参数类型错误: lselsetp nil”,麻烦各位有空的话帮忙看看

gaics 发表于 2020-9-11 22:56:15

显示“参数类型错误: lselsetp nil”的原因是图纸范围内没有选择到text文本。
(setq ss (ssget "_X" (list (cons 0 "TEXT"))))
“ssget”已经限定了只选择"TEXT",你看下跟你的需求是否相符。

gaics 发表于 2020-9-12 09:02:36

本帖最后由 gaics 于 2020-9-12 09:15 编辑

没发现错误,也没输出什么具体内容,只有Layout,Layer,X,Y,Tekst,Entity,Rotation,Height
--------------------------------------------------------------------------------------------------------------
布局里才有效?提取的都是text,跟块属性有什么关系?

kyky1002 发表于 2020-9-12 09:17:13

插件中的功能没实现,按照介绍是ETC导出块属性到csv,但是没有成功,IFC是import from csv,从csv文件导入块属性,UFC是update from csv,从csv更新块属性

gaics 发表于 2020-9-12 09:28:11

本帖最后由 gaics 于 2020-9-12 09:33 编辑

kyky1002 发表于 2020-9-12 09:17
插件中的功能没实现,按照介绍是ETC导出块属性到csv,但是没有成功,IFC是import from csv,从csv文件导入 ...
在布局内成功了,选中的都是text文本
ifc、ufc都正常运行。

wzg356 发表于 2020-9-12 10:18:34

本帖最后由 wzg356 于 2020-9-12 10:21 编辑

函数:VxGetAtts
功能:获取块中所有属性
函数代码:
(defun VxGetAtts (Obj)
(mapcar
    '(lambda (Att)
       ;(cons
            (list
               (vla-get-TagString Att)
               (vla-get-TextString Att)
       )
   )
    (vlax-invoke Obj "GetAttributes")
)
)
语法:(VxGetAtts Obj)
参数:Obj = Object
返回值:表

示例:(VxGetAtts(vlax-ename->vla-object (car (entsel))))

wzg356 发表于 2020-9-12 10:22:03

接6楼
(ls2xls (VxGetAtts(vlax-ename->vla-object (car (entsel)))))

kyky1002 发表于 2020-9-12 11:08:03

感谢大家,原来是我理解错了,还以为是块属性导出导入

kyky1002 发表于 2020-9-12 11:30:10

gaics 发表于 2020-9-12 09:28
在布局内成功了,选中的都是text文本
ifc、ufc都正常运行。

请问有办法改成模型里也能用么

gaics 发表于 2020-9-12 12:13:18

kyky1002 发表于 2020-9-12 11:30
请问有办法改成模型里也能用么

(if (and (point_between_window pt bl tr) (/= layout "Model"))
改为(if (point_between_window pt bl tr)
页: [1] 2
查看完整版本: 块属性导出导入excel