讨论 --- 【已解答】物件 TextureMapping 修改事件

[复制链接]
Jorin 发表于 2016-4-9 09:43:01
楼主
哈哈,楼主肯定是思路错了,使用了 TextureMappingEvent 事件,这个事件的 TextureMappingEventArgs 中不包含物件信息的。

其实应该订阅修改物件属性的事件,很简单,在你初始化插件的时候添加事件订阅:
  1. Rhino.RhinoDoc.ModifyObjectAttributes += RhinoDoc_ModifyObjectAttributes;
复制代码
RhinoDoc_ModifyObjectAttributes 方法里这样写就可以看到修改了哪个物件的 TextureMapping:
  1. private void RhinoDoc_ModifyObjectAttributes(object sender, Rhino.DocObjects.RhinoModifyObjectAttributesEventArgs e)
  2.         {
  3.             if (e.NewAttributes.HasMapping!=e.OldAttributes.HasMapping)
  4.             {
  5.                 Rhino.RhinoApp.WriteLine("物件 {0} 的 TextureMapping 被修改。", e.RhinoObject.Id.ToString());
  6.             }
  7.             
  8.         }
复制代码


关于大陆地区Rhino原厂培训中心
Jorin 发表于 2016-4-13 11:06:58
2
设计好爱者 发表于 2016-4-12 14:23
我遇到了些问题,当增加一个物体的贴图轴时,可用ModifyObjectAttributes捕捉,但修改贴图轴,好像不会触 ...

你找找看能不能把 HasMapping 内部的信息提取出来进行比对判断。
您需要登录后才可以回帖 登录 | 注册成为会员

本版积分规则