乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 84|回复: 6

[编程交流] 创建材质

[复制链接]

41

主题

120

帖子

84

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
200
发表于 2022-7-5 18:21:24 | 显示全部楼层 |阅读模式
你好
你能帮我创建添加材料的功能吗。
我只会设置四个参数:
名称:Test1
漫反射:继承
环境:继承
透明度:20
 
 
 
 
其他参数为0或不活动。
 
 
 
 
最好使用entmake
回复

使用道具 举报

62

主题

466

帖子

404

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
310
发表于 2022-7-5 18:35:04 | 显示全部楼层
我想这是可以做到的。我以前从未尝试过
 
 
http://knowledge.autodesk.com/search-result/caas/CloudHelp/cloudhelp/2016/ENU/AutoCAD-DXF/files/GUID-E540C5BB-E166-44FA-B36C-5C739878B272-htm.html
回复

使用道具 举报

20

主题

338

帖子

323

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
100
发表于 2022-7-5 18:49:23 | 显示全部楼层
这里只是快速运行代码。AutoLisp和VisualLisp的混合
 
  1. (setq acadapp (vlax-get-acad-object));Get the Acad App
  2. (setq adoc (vlax-get-property acadapp 'ActiveDocument));Get the ActiveDocument
  3. (setq mats (vlax-get-property adoc 'Materials));Get the Materials Collection
  4. (setq mymat (vlax-invoke-method mats 'Add "Test1"));Add a New Material
  5. (setq d (dictsearch (namedobjdict) "ACAD_MATERIAL"));Get the Material Dictionary
  6. (setq mymatent (cdr (cadr (member (cons 3 "Test1") d))));Get your new Material Entity Name
  7. (setq entd (entget mymatent));Get the Enity Data of your new Material

 
使用丹中尉的腿为你提供的链接来修改你的材料。
 
我希望这有帮助!
 
当做
 
Hippe013
回复

使用道具 举报

62

主题

466

帖子

404

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
310
发表于 2022-7-5 18:59:09 | 显示全部楼层
只是一张纸条,
 
cdadr等于(cdr(cadr))的结果
 
 
你也可以用
  1. (dictsearch (cdar (dictsearch (namedobjdict) "ACAD_MATERIAL")) "Test1")

这将返回与entd相同的结果
回复

使用道具 举报

20

主题

338

帖子

323

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
100
发表于 2022-7-5 19:09:23 | 显示全部楼层
 
谢谢你的提示!
回复

使用道具 举报

41

主题

120

帖子

84

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
200
发表于 2022-7-5 19:18:56 | 显示全部楼层
谢谢你的帮助。
材料能够创建。
我还有一个问题:
1、我创建了一个实体
2、更改BYBlock上的材质
3.一种更换材料,但仅在一种表面固体上(例如“Ble1”)
 
有没有办法恢复单个材料的所有表面?
回复

使用道具 举报

1

主题

3

帖子

2

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-5 19:29:30 | 显示全部楼层
我也想做OP想要做的事情。我的问题是改变材料的透明度。丹左腿的链接中没有材质透明的材质组代码。不过,在“材质编辑器”(materials editor)中,可以更改任何材质的透明度。
 
如何通过vlisp改变材料的透明度?
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-3-12 20:06 , Processed in 0.746049 second(s), 66 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表