几何尺寸与公差论坛

 找回密码
 注册
查看: 5981|回复: 7

求助:SolidWork Remove Body Material Property 的API

[复制链接]
发表于 2007-6-21 15:43:24 | 显示全部楼层 |阅读模式
通过SolidWork手动操作可以
Remove Model Color
Remove Body Color
Remove Face Color
Remove Feature Color
Remove Component Color
相应的API为:
ModelDoc2::RemoveMaterialProperty2
Body2没有此方法!!!!!!!!!!!!
Face2::RemoveMaterialProperty2
Feature::RemoveMaterialProperty2
Component2::RemoveMaterialProperty2

请各位帮忙看看能不能把Body的Color Remove掉。
谢谢!!
发表于 2007-6-22 10:09:38 | 显示全部楼层

回复: 求助:SolidWork Remove Body Material Property 的API

Body2::RemoveMaterialProperty2 你这不是写了么?
 楼主| 发表于 2007-6-22 13:46:17 | 显示全部楼层

回复: 求助:SolidWork Remove Body Material Property 的API

致vogy!!
我太粗心了,写错了,Body2没有这方法。上面的帖子已经改过来了。不好意思啦!
您帮忙看看。谢了
SolidWorks 要是所有的操作都能录宏就好了!
发表于 2007-6-23 19:01:04 | 显示全部楼层

回复: 求助:SolidWork Remove Body Material Property 的API

Sw的操作可以录宏啊!
Dim swApp As Object
Dim Part As Object
Dim SelMgr As Object
Dim boolstatus As Boolean
Dim longstatus As Long, longwarnings As Long
Dim Feature As Object
Sub main()
Set swApp = Application.SldWorks
Set Part = swApp.ActiveDoc
Set SelMgr = Part.SelectionManager
boolstatus = Part.Extension.SelectByID2("Extrude1", "BODYFEATURE", 0, 0, 0, False, 0, Nothing, 0)
Part.SelectedFaceProperties 0, 0, 0, 0, 0, 0, 0, 0, "Extrude1"
boolstatus = Part.EditRebuild3
Part.ClearSelection2 True
End Sub
 楼主| 发表于 2007-6-26 08:07:34 | 显示全部楼层

回复: 求助:SolidWork Remove Body Material Property 的API

我说的是把删除Body颜色的操作录宏,下面是我录的宏代码,录不到删除Body颜色的API。多次麻烦您,实在是很感谢!!
Dim swApp As Object
Dim Part As Object
Dim SelMgr As Object
Dim boolstatus As Boolean
Dim longstatus As Long, longwarnings As Long
Dim Feature As Object
Sub main()
Set swApp = Application.SldWorks

Set Part = swApp.ActiveDoc
Set SelMgr = Part.SelectionManager
boolstatus = Part.Extension.SelectByID2("Extrude1", "SOLIDBODY", 0, 0, 0, False, 0, Nothing, 0)
boolstatus = Part.Extension.SelectByID2("", "FACE", 0.01980884773644, 0.007411491703351, 0.00590052665541, False, 0, Nothing, 0)
Part.ClearSelection2 True
End Sub
 楼主| 发表于 2007-6-26 08:31:01 | 显示全部楼层

回复: 求助:SolidWork Remove Body Material Property 的API

我刚才又用你的API Part.SelectedFaceProperties 0, 0, 0, 0, 0, 0, 0, 0, "Extrude1" 设了一下面的颜色,我想要的效果是删除掉面的颜色,比如执行前Face是红色,Body是蓝色。在SolidWorks中我们看到的是红色。当删除Face颜色后,应该变成Bidy的蓝色。这是我所需要的,而 Part.SelectedFaceProperties 0, 0, 0, 0, 0, 0, 0, 0, "Extrude1"调用完面是黑的。还有就是我想要的是删除Body的颜色,删除面的API我找到了。
> Part.SelectedFaceProperties 0, 0, 0, 0, 0, 0, 0, 0, "Extrude1"
这一句是remove color of body,不是删除掉了面的颜色!你查看一下你的part设置的原始颜色是什么?你若执行完这一句后,应该看到的是Part的原始颜色。
>面、特征、body的颜色设置参数定义都不一样,细心观察以下几句——
'设置面的颜色,macro record,连续更改面的颜色(至少执行两次更改面的颜色的操作),可能录到正确的更改面的颜色的操作。
Part.SelectedFaceProperties 16711680, 1, 1, 0.95, 0.55, 0, 0.08, 0, ""
boolstatus = Part.Extension.SelectByID2("", "FACE", -0.01716022336359, 0.02843205540347, 0.009999999999991, False, 0, Nothing, 0)
'remove面的颜色
Part.SelectedFaceProperties 0, 0, 0, 0, 0, 0, 0, 1, ""
——建议通过API help doc仔细分析每个参数的含义
发表于 2007-6-26 10:01:14 | 显示全部楼层

回复: 求助:SolidWork Remove Body Material Property 的API

For 3D model(不包括草图),颜色的优先级
Component < Part < Body < feature < face
1)关掉 RealView Graphics (不选中状态)
2)在删掉面的颜色,重建model
3)检查删除面的颜色操作之后,你是否修改了对应特征的颜色。
4)建议不对body和face进行修改颜色的操作,只对特征或model进行修改颜色的操作。
5)检查你的model有几个body?
6)确认没有设置材质
发表于 2007-6-27 10:33:30 | 显示全部楼层

回复: 求助:SolidWork Remove Body Material Property 的API

SW 给我的关于 macro can not record color of sketch的回复:
The behavior you describe is a current limitation of SolidWorks 2008 Functionality.
We have recorded this as an enhancement in our enhancements database. This issue has also been identified as a problem that currently exists in SolidWorks 2007
or an earlier version.
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|小黑屋|几何尺寸与公差论坛

GMT+8, 2024-12-22 19:34 , Processed in 0.041638 second(s), 19 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2023 Discuz! Team.

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