//主要设置 模型的显示与隐藏
private void TransmissionByData_AxSendSelectionChange(string domName, bool isVisible) { System.Threading.Tasks.Parallel.Invoke(() => { try { if (isVisible) { axDS3DVIAPlayerActiveX1.SetVisibility(CLitSelectionName(domName), CrActorVisibility.crAtvVisible, CrActorVisibility.crAtvKeepActorVisibility); } else { axDS3DVIAPlayerActiveX1.SetVisibility(CLitSelectionName(domName), CrActorVisibility.crAtvInvisible, CrActorVisibility.crAtvKeepActorVisibility); } } catch (InvalidComObjectException e) { Console.WriteLine(e); } }); }
private string CLitSelectionName(string name) { return string.Format("<CLitSelection Name='' ><CLitModifiable Name='{0}'/></CLitSelection>", name); } private void HightLightItem(string strId, AxDS3DVIAPlayerActiveX objPlayer) { try { objPlayer.SetPropertySet( objPlayer.GetAllActorsOnFilter("<CLitPropertySet><Actor.Alpha Value='255'/></CLitPropertySet>", false), string.Format("<CLitPropertySet><Actor.Alpha Value='{0}'/></CLitPropertySet>", strHightLightAlpha)); objPlayer.SetPropertySet( string.Format("<CLitSelection Name='' Ident='-1'><CLitModifiable Name='{0}'/></CLitSelection>", strId), "<CLitPropertySet><Actor.Alpha Value='255'/></CLitPropertySet>"); } catch (InvalidComObjectException e) { Console.WriteLine(e); } } private void HightLightAll(AxDS3DVIAPlayerActiveX objPlayer) { try { objPlayer.SetPropertySet( objPlayer.GetAllActorsOnFilter( string.Format("<CLitPropertySet><Actor.Alpha Value='{0}'/></CLitPropertySet>", strHightLightAlpha), true), "<CLitPropertySet><Actor.Alpha Value='255'/></CLitPropertySet>"); } catch (InvalidComObjectException e) { Console.WriteLine(e); } } private void SetPlayerSelections(string[] strItemKeys, AxDS3DVIAPlayerActiveX objPlayer) { try { string strSelection = ""; if (strItemKeys.Length == 0) { strSelection = "<CLitSelection Name="" Ident="-1"><CLitModifiable Name=""/></CLitSelection>"; } else { strSelection = strItemKeys.Aggregate("<CLitSelection Name="" Ident="-1">", (current, t) => current + string.Format("<CLitModifiable Name="{0}"/>", t)); strSelection += "</CLitSelection>"; } objPlayer.Selection = strSelection; } catch (InvalidComObjectException e) { Console.WriteLine(e); } } //将Player的选择项聚焦 private void SetPlayerSelectionsFocus(AxDS3DVIAPlayerActiveX objPlayer) { try { objPlayer.ZoomSelection(); } catch (InvalidComObjectException e) { Console.WriteLine(e); } }
在这里做个备注,防止下次忘记了..