创建材质
你好你能帮我创建添加材料的功能吗。
我只会设置四个参数:
名称:Test1
漫反射:继承
环境:继承
透明度:20
其他参数为0或不活动。
最好使用entmake 我想这是可以做到的。我以前从未尝试过
http://knowledge.autodesk.com/search-result/caas/CloudHelp/cloudhelp/2016/ENU/AutoCAD-DXF/files/GUID-E540C5BB-E166-44FA-B36C-5C739878B272-htm.html 这里只是快速运行代码。AutoLisp和VisualLisp的混合
(setq acadapp (vlax-get-acad-object));Get the Acad App
(setq adoc (vlax-get-property acadapp 'ActiveDocument));Get the ActiveDocument
(setq mats (vlax-get-property adoc 'Materials));Get the Materials Collection
(setq mymat (vlax-invoke-method mats 'Add "Test1"));Add a New Material
(setq d (dictsearch (namedobjdict) "ACAD_MATERIAL"));Get the Material Dictionary
(setq mymatent (cdr (cadr (member (cons 3 "Test1") d))));Get your new Material Entity Name
(setq entd (entget mymatent));Get the Enity Data of your new Material
使用丹中尉的腿为你提供的链接来修改你的材料。
我希望这有帮助!
当做
Hippe013 只是一张纸条,
cdadr等于(cdr(cadr))的结果
你也可以用
(dictsearch (cdar (dictsearch (namedobjdict) "ACAD_MATERIAL")) "Test1")
这将返回与entd相同的结果
谢谢你的提示! 谢谢你的帮助。
材料能够创建。
我还有一个问题:
1、我创建了一个实体
2、更改BYBlock上的材质
3.一种更换材料,但仅在一种表面固体上(例如“Ble1”)
有没有办法恢复单个材料的所有表面? 我也想做OP想要做的事情。我的问题是改变材料的透明度。丹左腿的链接中没有材质透明的材质组代码。不过,在“材质编辑器”(materials editor)中,可以更改任何材质的透明度。
如何通过vlisp改变材料的透明度?
页:
[1]