/// <summary> /// Sets the material association for a layer. /// </summary> /// <param name="LayerIndex"></param> /// <param name="Abs">0 to 100</param> /// <param name="Scat">0 to 100</param> /// <returns></returns> public static bool Material_SetLayer(int LayerIndex, int[] Abs, int[] Scat, int[] Trans) { Rhino.DocObjects.Layer layer = Rhino.RhinoDoc.ActiveDoc.Layers[LayerIndex]; layer.SetUserString("ABSType", ""); layer.SetUserString("Acoustics", RC_PachTools.EncodeAcoustics(Abs, Scat, Trans)); return(Rhino.RhinoDoc.ActiveDoc.Layers.Modify(layer, LayerIndex, false)); }
/// <summary> /// Sets the material association for a layer. /// </summary> /// <param name="LayerName"></param> /// <param name="Abs">0 to 100</param> /// <param name="Scat">0 to 100</param> /// <returns></returns> public static bool Material_SetLayer(string LayerName, int[] Abs, int[] Scat, int[] Trans = null) { int layer_index = Rhino.RhinoDoc.ActiveDoc.Layers.Find(LayerName, true); Rhino.DocObjects.Layer layer = Rhino.RhinoDoc.ActiveDoc.Layers[layer_index]; layer.SetUserString("Acoustics", RC_PachTools.EncodeAcoustics(Abs, Scat, Trans)); return(Rhino.RhinoDoc.ActiveDoc.Layers.Modify(layer, layer_index, false)); }
/// <summary> /// Sets materials for an object by object. /// </summary> /// <param name="ID">object GUID (UUID)</param> /// <param name="Abs">0 to 100</param> /// <param name="Scat">0 to 100</param> /// <param name="Trans">0 to 100</param> /// <returns></returns> public static bool Material_SetByObject(Guid ID, int[] Abs, int[] Scat, int[] Trans) { Rhino.DocObjects.RhinoObject obj = Rhino.RhinoDoc.ActiveDoc.Objects.Find(ID); obj.Geometry.SetUserString("Acoustics_User", "yes"); string MaterialCode = RC_PachTools.EncodeAcoustics(Abs, Scat, Trans); bool result = obj.Geometry.SetUserString("Acoustics", MaterialCode); return(result); }