public static void SelectSample(Boolean isAllEnt, out String layerName, out Autodesk.AutoCAD.Colors.Color color, out String lineType) { layerName = null; color = new Autodesk.AutoCAD.Colors.Color(); lineType = null; try { Autodesk.AutoCAD.EditorInput.PromptEntityOptions edOpt = new Autodesk.AutoCAD.EditorInput.PromptEntityOptions("\nВыберите объект аналог: "); if (isAllEnt) { edOpt.SetRejectMessage("Объект не Arc,Circle,Line,Polyline.\n"); edOpt.AddAllowedClass(typeof(Autodesk.AutoCAD.DatabaseServices.Circle), false); edOpt.AddAllowedClass(typeof(Autodesk.AutoCAD.DatabaseServices.Line), false); edOpt.AddAllowedClass(typeof(Autodesk.AutoCAD.DatabaseServices.Polyline), false); edOpt.AddAllowedClass(typeof(Autodesk.AutoCAD.DatabaseServices.Arc), false); } else { edOpt.SetRejectMessage("Объект не полилиния.\n"); edOpt.AddAllowedClass(typeof(Autodesk.AutoCAD.DatabaseServices.Polyline), false); } edOpt.AllowNone = false; edOpt.AllowObjectOnLockedLayer = false; Autodesk.AutoCAD.EditorInput.PromptEntityResult edRes = AcadApp.AcaEd.GetEntity(edOpt); if (edRes.Status == Autodesk.AutoCAD.EditorInput.PromptStatus.OK) { using (var trans = AcadApp.StartTransaction()) { try { Curve selCurve; selCurve = (Curve)trans.GetObject(edRes.ObjectId, OpenMode.ForRead); layerName = selCurve.Layer; color = selCurve.Color; lineType = selCurve.Linetype; AcadApp.AcaEd.WriteMessage("OK.\n"); } catch (System.Exception ex) { AcadApp.AcaEd.WriteMessage("\nERROR: AcadApp.SelectSample()::PROCESS " + ex + "\n"); } } //using trans } } catch (System.Exception ex) { AcadApp.AcaEd.WriteMessage("\nERROR: AcadApp.SelectSample()::EXTERNAL " + ex + "\n"); } return; }
/// <summary> /// 插入标注 /// </summary> /// <param name="_esymb"></param> /// <param name="position"></param> /// <param name="rotateAngle"></param> /// <param name="layerId"></param> /// <param name="alignment"></param> /// <param name="xmlDbManager"></param> public static void InsertLabel(ElectronSymbol _esymb, Point3d position, double rotateAngle, ObjectId layerId, int alignment, XmlDBManager xmlDbManager) { if (_esymb.EntityState != EntityState.Delete) { _esymb.EntityType = EntityType.Label; var value = new LabelEventArgs { xmlDB = xmlDbManager, color = CADColor.FromRgb(0, 0, 0) }; value = GetLabelTextStyle(_esymb, value); if (string.IsNullOrEmpty(value.lbText)) { value.lbText = ""; } //打开图层再添加标注 PublicMethod.Instance.SetLayerDisplay(layerId, false); //标注高度 var lbHeight = value.lbHeight / MapConfig.Instance.earthscale; if (value.lbText.Contains("\n")) { var mText = Mtext(value.lbText, position, rotateAngle, lbHeight, layerId); AddEntity(mText, _esymb); } else { var mText = AddText(value.lbText, position, rotateAngle, lbHeight, layerId, value.color, alignment); AddEntity(mText, _esymb); } } }
// Returns the id of the layer (Creates the layer if it does not exist) public static ObjectId GetOrCreateLayer(Database db, string layerName, Autodesk.AutoCAD.Colors.Color color) { ObjectId id = ObjectId.Null; using (Transaction tr = db.TransactionManager.StartTransaction()) { LayerTable table = (LayerTable)tr.GetObject(db.LayerTableId, OpenMode.ForRead); if (table.Has(layerName)) { id = table[layerName]; } else { LayerTableRecord layer = new LayerTableRecord(); layer.Name = layerName; if (color != null) { layer.Color = color; } table.UpgradeOpen(); id = table.Add(layer); table.DowngradeOpen(); tr.AddNewlyCreatedDBObject(layer, true); } tr.Commit(); } return(id); }
private ObjectId SetPolyLine(Polyline pline, CADColor color, ObjectId lineLayerId) { pline.LayerId = lineLayerId; pline.Color = color; id = PublicMethod.Instance.ToModelSpace(pline); return(id); }
/// <summary> /// 获取标注样式 /// </summary> /// <param name="g3e_UserName"></param> /// <param name="e"></param> private static void GetG3e_textstyle(string g3e_UserName, LabelEventArgs e) { const double increment = 0.05; try { var textstyle = CDDBManager.Instance.GetEntity <G3e_textstyle>(o => o.G3E_USERNAME.ToUpper() == g3e_UserName.ToUpper()); if (textstyle != null) { if (textstyle.G3E_COLOR != null) { e.color = CADColor.FromColor(Color.FromArgb((int)textstyle.G3E_COLOR)); } if (textstyle.G3E_SIZE != null) { e.lbHeight = (double)textstyle.G3E_SIZE + increment; } } else { e.lbHeight = 0.2 + increment; e.color = CADColor.FromRgb(0, 0, 0); LogManager.Instance.Error(string.Format("获取样式失败!{0}", g3e_UserName)); } } catch { e.lbHeight = 0.2 + increment; e.color = CADColor.FromRgb(0, 0, 0); LogManager.Instance.Error(string.Format("获取样式失败!{0}", g3e_UserName)); } }
public static Autodesk.AutoCAD.Colors.Color GetColorByLayer(ObjectId layer) { Autodesk.AutoCAD.Colors.Color cl = new Autodesk.AutoCAD.Colors.Color(); try { using (var loc = AcadApp.AcaDoc.LockDocument()) { using (var trans = StartTransaction()) { LayerTableRecord ltr = trans.GetObject(layer, OpenMode.ForRead) as LayerTableRecord; if (ltr == null) { LufsGenplan.AcadApp.AcaEd.WriteMessage("\nDEBUG: GetColorByLayer ltr == null\n"); } cl = ltr.Color; trans.Commit(); } } return cl; } catch (System.Exception ex) { AcadApp.AcaEd.WriteMessage("\nERROR: AcadApp.GetColorByLayer() " + ex.Message + "\n"); } return cl; }
public static Region NewRegion(DBObjectCollection objs, Autodesk.AutoCAD.Colors.Color color) { Document doc = Application.DocumentManager.MdiActiveDocument; Database db = doc.Database; using (Transaction tr = db.TransactionManager.StartTransaction()) { //------------------------------- // 获取模型空间 //------------------------------- BlockTable blockTbl = tr.GetObject( db.BlockTableId, OpenMode.ForRead) as BlockTable; BlockTableRecord modelSpace = tr.GetObject( blockTbl[BlockTableRecord.ModelSpace], OpenMode.ForWrite) as BlockTableRecord; //------------------------------- // 创建填充对象 //------------------------------- DBObjectCollection regions = Region.CreateFromCurves(objs); if (regions.Count <= 0) { return(null); } Region region = regions[0] as Region; region.Color = color; modelSpace.AppendEntity(region); tr.AddNewlyCreatedDBObject(region, true); // tr.Commit(); return(region); } }
//[CommandMethod("GetLayerPro")] public static void GetLayerPro() { try { Editor ed = Application.DocumentManager.MdiActiveDocument.Editor; Database db = new Database(false, true); if (File.Exists(FileName)) { db.ReadDwgFile(FileName, FileShare.Read, true, null); using (Transaction trans = db.TransactionManager.StartTransaction()) { LayerTable lt = (LayerTable)trans.GetObject(db.LayerTableId, OpenMode.ForRead); foreach (ObjectId layerId in lt) { LayerTableRecord ltr = (LayerTableRecord)trans.GetObject(layerId, OpenMode.ForRead); if (ltr != null) { Autodesk.AutoCAD.Colors.Color layerColor = ltr.Color; ed.WriteMessage("\n图层名称为:" + ltr.Name); ed.WriteMessage("\n图层颜色为:" + layerColor.ToString()); } } trans.Commit(); } } } catch (Exception ex) { throw new Exception(ex.Message); } }
private void cmdGetNumeric_Click(System.Object eventSender, System.EventArgs eventArgs) { BaseObjs.acadActivate(); Entity ent = null; Point3d pnt3dPicked = Pub.pnt3dO; try { string msg = string.Format("\nSelect the {0}1{1} grid line:\n", 34.asciiToString(), 34.asciiToString()); ent = Base_Tools45.Select.selectEntity(typeof(Line), msg, "", out pnt3dPicked); if (ent == null) { return; } } catch (System.Exception) { return; } Line objGridNumeric1 = (Line)ent; Color color = new Color(); color = Color.FromColorIndex(Autodesk.AutoCAD.Colors.ColorMethod.ByBlock, 3); objGridNumeric1.ObjectId.changeProp(LineWeight.ByLayer, color); GRIDNUMERIC.Add(objGridNumeric1.Handle); int i = objGridNumeric1.Layer.IndexOf("GRID"); string strName = objGridNumeric1.Layer.Substring(i); Stake_Grid.setupGrid(objGridNumeric1.ObjectId, strName, "NUMERIC"); Stake_Dict.updateDictGRIDsWithBldgName(GRIDNUMERIC, strName, "NUMERIC"); }
/// <summary> /// 加载点线面设备 /// </summary> /// <param name="symbol"></param> /// <param name="xmlDBManager"> </param> private void LoadIncrementSymbol(DBSymbolEntry symbol, XmlDBManager xmlDBManager) { try { if (!string.IsNullOrEmpty(symbol.SymbolPtTable)) { var type = TypeCache.Instance.GetTypeFromCache(typeof(DBEntity), symbol.SymbolPtTable.Trim()); if (xmlDBManager.Has(type)) { //获取坐标数据 var pts = xmlDBManager.GetEntities(type).Cast <ElectronSymbol>(); //颜色转换 var color = CADColor.FromColor(Color.FromArgb(int.Parse(symbol.OtherProperty.SymbolColor))); //加载图形 AddElectronSymbol(symbol.OtherProperty.LayerName.Trim(), pts, color, symbol.OtherProperty.LineType, symbol.OtherProperty.LineWidth); } } } catch (Exception ex) { if (!ex.Message.Contains("给定关键字不在字典中")) { LogManager.Instance.Error("加载设备错误!" + ex); } } }
/// <summary> /// 重新设置实体记录 /// </summary> /// <param name="newObjId">新实体的objid</param> /// <param name="oldObjId">旧实体的objid</param> public void ResetEntityRecord(ObjectId newObjId, ObjectId oldObjId) { try { DCadApi.isModifySymbol = true; using (Transaction trans = PublicMethod.Instance.acDoc.TransactionManager.StartTransaction()) { using (PublicMethod.Instance.acDoc.LockDocument()) { var temp = trans.GetObject(newObjId, OpenMode.ForRead, true); Entity ent = temp as Entity; if (ent != null) { //有可能是只改了颜色 //这里是把新的实体的objId和color存起来,替换旧的,因为实体被更新后这些东西发生了改变 _FindEntObjId = newObjId; _FindEntCol = ent.Color; //ent.UpgradeOpenAndRun(); //ent.Color = Autodesk.AutoCAD.Colors.Color.FromRgb(0, 255, 0); trans.Commit(); } } } } catch (Autodesk.AutoCAD.Runtime.Exception) { //如果实体发生改变颜色自动会跟着改变,否则颜色也是不会改变的 _FindEntObjId = oldObjId; } finally { DCadApi.isModifySymbol = false; } }
/// <summary> /// 加载图形 /// </summary> /// <param name="layerId"></param> /// <param name="esymb"></param> /// <param name="color"></param> /// <param name="strLineType"></param> /// <param name="lineWidth"></param> private void AddElectronSymbol(ObjectId layerId, ElectronSymbol esymb, CADColor color, string strLineType, double lineWidth) { //处理新增数据 if (esymb.EntityState == EntityState.Insert) { LoadIncrementSymbol(layerId, esymb, color, strLineType, lineWidth); } }
public override void Initialization(Transaction transaction) { var layerTableRecord = ObtainDbObject(transaction, OpenMode.ForRead) as LayerTableRecord; name = layerTableRecord.Name; color = layerTableRecord.Color; visibility = layerTableRecord.IsOff; }
private void ShowTransientErrorMark(CheckResult checkResult) { var markshape = ErrorMarkSettings.CurrentSettings.MarkShapes[checkResult.ActionType]; var color = ErrorMarkSettings.CurrentSettings.MarkColors[checkResult.ActionType]; var acadColor = AcadColor.FromRgb(color.R, color.G, color.B); _transientGraphicsMgr.CreateTransientErrorMarks(markshape, checkResult.MarkPoints, acadColor, checkResult.TransientDrawables); }
/// <summary> /// 获取标注值 /// </summary> /// <param name="g3e_cno"></param> /// <param name="g3e_fno"> </param> /// <param name="g3e_fid"> </param> /// <returns></returns> public static LabelEventArgs GetLabelText(string g3e_cno, long g3e_fid, long g3e_fno) { var labelEventArgs = new LabelEventArgs { xmlDB = DBManager.Instance as XmlDBManager, color = CADColor.FromRgb(0, 0, 0) }; labelEventArgs = GetLabelTextStyle(g3e_cno, g3e_fid, g3e_fno, labelEventArgs); return(labelEventArgs); }
/// <summary> /// 获取标注值 /// </summary> /// <param name="g3e_cno"></param> /// <param name="g3eObject"> </param> /// <returns></returns> public static LabelEventArgs GetLabelText(string g3e_cno, G3EObject g3eObject) { var labelEventArgs = new LabelEventArgs { xmlDB = DBManager.Instance as XmlDBManager, color = CADColor.FromRgb(0, 0, 0) }; labelEventArgs = GetLabelTextStyle(g3e_cno, g3eObject.G3E_FID, g3eObject.G3E_FNO, labelEventArgs); return(labelEventArgs); }
/// <summary> /// 获取标注值 /// </summary> /// <param name="electronSymbol">标注的坐标表</param> /// <returns></returns> public static LabelEventArgs GetLabelText(ElectronSymbol electronSymbol) { var labelEventArgs = new LabelEventArgs { xmlDB = DBManager.Instance as XmlDBManager, color = CADColor.FromRgb(0, 0, 0) }; labelEventArgs = GetLabelTextStyle(electronSymbol, labelEventArgs); return(labelEventArgs); }
private object DrawPyramidTask(Document doc, Transaction tr, object[] input) { Drawer drawer = new Drawer(tr); Point3d[] pts = (Point3d[])input[0]; Autodesk.AutoCAD.Colors.Color green = Autodesk.AutoCAD.Colors.Color.FromRgb(0, 255, 0); drawer.Quad(pts[0], pts[1], pts[2], pts[3], green); //ABCD drawer.Triangle(pts[0], pts[1], pts[4], green); //ABE drawer.Triangle(pts[1], pts[2], pts[4], green); //BCE drawer.Triangle(pts[2], pts[3], pts[4], green); //CDE drawer.Triangle(pts[3], pts[0], pts[4], green); //DAE return(null); }
/// <summary> /// 由插入点、文字内容、文字样式、文字高度、文字宽度创建多行文字 /// </summary> /// <param name="textString">文字内容</param> /// <param name="location"> 基点</param> /// <param name="lbHeight"> 文字高度</param> /// <param name="rot">文字转角</param> /// <param name="layerId">层ID</param> /// <param name="alginment"> </param> /// <returns></returns> public static MText Mtext(string textString, Point3d location, double lbHeight, double rot, ObjectId layerId, int alginment) { var txt = new MText { Location = location, Rotation = rot, Contents = textString, LayerId = layerId, TextHeight = lbHeight, Color = CADColor.FromRgb(0, 0, 0), TextStyleId = PublicMethod.Instance.MultTextStyleId }; return(txt); }
public void DrawPolylines(List <Point3D> Objects, bool ShouldDeletePrevious, Autodesk.AutoCAD.Colors.Color color) { // If ModifyViewspace method is called from different thread, InvokeRequired will be true if (syncControl.InvokeRequired) { syncControl.Invoke(new DrawPolylinesDelegate(DrawPolylines), new object[] { Objects, ShouldDeletePrevious, color }); } else { Document doc = AcadApp.DocumentManager.MdiActiveDocument; using (DocumentLock docLock = doc.LockDocument()) { Database currentDb = doc.Database; using (Transaction trans = currentDb.TransactionManager.StartTransaction()) { // Deleting the previous drawn object if ((PreviousViewPoint != ObjectId.Null) && (ShouldDeletePrevious)) { Entity ent = (Entity)trans.GetObject(PreviousViewPoint, OpenMode.ForWrite); ent.Erase(); ent.Dispose(); } // Open the Block table for read BlockTable blockTable; blockTable = trans.GetObject(currentDb.BlockTableId, OpenMode.ForRead) as BlockTable; // Open the Block table record Model space for write BlockTableRecord blockTblRec = trans.GetObject(blockTable[BlockTableRecord.ModelSpace], OpenMode.ForWrite) as BlockTableRecord; Point3dCollection plCollection = new Point3dCollection(); foreach (Point3D p in Objects) { plCollection.Add(new Point3d(p.X, p.Y, p.Z)); } Polyline3d pl = new Polyline3d(Poly3dType.SimplePoly, plCollection, false); pl.Color = color; PreviousViewPoint = blockTblRec.AppendEntity(pl); trans.AddNewlyCreatedDBObject(pl, true); trans.Commit(); // Updates the screen without flickering of view AcadApp.UpdateScreen(); // or doc.Editor.Regen(); } } } }
/// <summary> /// 添加分段导线 /// </summary> /// <param name="objectId"></param> /// <param name="lineLayerID"></param> /// <param name="color"></param> /// <param name="lineWidth"></param> private void AddPolyline(ObjectId objectId, ObjectId lineLayerID, CADColor color, double lineWidth) { var ptcol = new Point2dCollection(); for (int i = 0; i < pline.NumberOfVertices; i++) { ptcol.Add(pline.GetPoint2dAt(i)); } PublicMethod.Instance.EraseObject(objectId); dxObjIdList = new Dictionary <ObjectId, LateralLineData>(); for (var i = 0; i < ptcol.Count - 1; i++) { var lineString = new LineString(); var pl = new Polyline(); pl.LayerId = lineLayerID; pl.Color = color; pl.Linetype = "Continuous"; var startPoint = ptcol[i]; var endPoint = ptcol[i + 1]; pl.AddVertexAt(pl.NumberOfVertices, new Point2d(startPoint.X, startPoint.Y), 0, lineWidth, lineWidth); lineString.Points.Add(new ElectronTransferModel.Geo.Point(new[] { startPoint.X, startPoint.Y, 0 })); pl.AddVertexAt(pl.NumberOfVertices, new Point2d(endPoint.X, endPoint.Y), 0, lineWidth, lineWidth); lineString.Points.Add(new ElectronTransferModel.Geo.Point(new[] { endPoint.X, endPoint.Y, 0 })); var id = PublicMethod.Instance.ToModelSpace(pl); var angle = PublicMethod.Instance.GetAngle(new Point2d(startPoint.X, startPoint.Y), new Point2d(endPoint.X, endPoint.Y)); var lld = new LateralLineData { lineString = lineString, lineAngle = angle }; if (i == 0) { lld.startObjID = id; } if (i == 1) { lld.endObjID = id; } dxObjIdList.Add(id, lld); } }
/// <summary> /// 加载图形 /// </summary> /// <param name="_layerName"></param> /// <param name="esymbs"></param> /// <param name="color"></param> /// <param name="strLineType"></param> /// <param name="lineWidth"></param> private void AddElectronSymbol(string _layerName, IEnumerable <ElectronSymbol> esymbs, CADColor color, string strLineType, double lineWidth) { if (esymbs.Any()) { //添加图层 var layerId = DCadApi.addLayer(_layerName, CADColor.FromRgb(255, 255, 255)); if (layerId != ObjectId.Null) { foreach (var _ee in esymbs) { //加载符号 AddElectronSymbol(layerId, _ee, color, strLineType, lineWidth); } } } }
// Получение цвета для модели слоя public System.Windows.Media.Color LayerColor(Autodesk.AutoCAD.Colors.Color AcadColor) { if (!AcadColor.IsByAci) { if (AcadColor.IsByLayer) { return(Colors.White); } else if (AcadColor.IsByBlock) { return(Colors.White); } else { return(System.Windows.Media.Color.FromRgb(AcadColor.Red, AcadColor.Green, AcadColor.Blue)); } } else { short colIndex = AcadColor.ColorIndex; byte byt = Convert.ToByte(colIndex); int rgb = Autodesk.AutoCAD.Colors.EntityColor.LookUpRgb(byt); long b = (rgb & 0xffL); long g = (rgb & 0xff00L) >> 8; long r = rgb >> 16; if (colIndex == 7) { if (r <= 128 && g <= 128 && b <= 128) { return(Colors.White); } else { return(Colors.Black); } } else { return(System.Windows.Media.Color.FromRgb((byte)r, (byte)g, (byte)b)); } } }
public void SetCurrentGroup() { Autodesk.AutoCAD.Colors.Color countColor = new Autodesk.AutoCAD.Colors.Color(); Database db = HostApplicationServices.WorkingDatabase; using (Transaction tr = db.TransactionManager.StartTransaction()) { try { PosGroup item = tr.GetObject(PosGroup.GroupId, OpenMode.ForRead) as PosGroup; if (item == null) return; countColor = item.CountColor; } catch { ; } } CountOverrule.Instance.SetProperties(countColor); DWGUtility.RefreshAllPos(); }
private void btSample_Click(object sender, RoutedEventArgs e) { try { String layerName; String lineType; Autodesk.AutoCAD.Colors.Color color; btRefresh_Click(sender, e); AcadApp.SelectSample(RbAllEnt.IsChecked ?? false, out layerName, out color, out lineType); if (layerName == null) { return; } CheckbLayerUse.IsChecked = true; cbLayerUse.Text = layerName; selected_color = color; if (selected_color.ColorNameForDisplay == "BYLAYER") { Autodesk.AutoCAD.Colors.Color c = AcadApp.GetColorByLayer(cbLayerUse.Text); pColor.Background = new SolidColorBrush(System.Windows.Media.Color.FromArgb(c.ColorValue.A, c.ColorValue.R, c.ColorValue.G, c.ColorValue.B)); } else { pColor.Background = new SolidColorBrush(System.Windows.Media.Color.FromArgb(selected_color.ColorValue.A, selected_color.ColorValue.R, selected_color.ColorValue.G, selected_color.ColorValue.B)); } CheckbColorUse.IsChecked = true; pColor.UpdateLayout(); LbColorName.Content = "Цвет: " + selected_color.ColorNameForDisplay; CheckbLinetUse.IsChecked = true; cbLinetUse.Text = lineType; } catch (Exception ex) { AcadApp.AcaEd.WriteMessage("\nERROR: AreaLinearCalc.btSample_Click() " + ex + "\n"); } }
private void BtSelectColor_Click(object sender, RoutedEventArgs e) { try { selected_color = AcadApp.SelectColor(); if (selected_color == null) { CheckbColorUse_Unchecked(sender, e); return; } if (selected_color.ColorNameForDisplay == "BYLAYER") { Autodesk.AutoCAD.Colors.Color c = AcadApp.GetColorByLayer(cbLayerUse.Text); pColor.Background = new SolidColorBrush(System.Windows.Media.Color.FromArgb(c.ColorValue.A, c.ColorValue.R, c.ColorValue.G, c.ColorValue.B)); } else { pColor.Background = new SolidColorBrush(System.Windows.Media.Color.FromArgb(selected_color.ColorValue.A, selected_color.ColorValue.R, selected_color.ColorValue.G, selected_color.ColorValue.B)); } pColor.UpdateLayout(); LbColorName.Content = "Цвет: " + selected_color.ColorNameForDisplay; } catch (Exception ex) { AcadApp.AcaEd.WriteMessage("\nERROR: AreaLinearCalc.BtSelectColor_Click() " + ex + "\n"); } }
public Boolean DocumentActivated() { try { //Layer setup cbLayerUse.Items.Clear(); foreach (var item in LufsGenplan.AcadApp.GetLayersList()) { cbLayerUse.Items.Add(item as object); } cbLayerUse.SelectedItem = cbLayerUse.Items[0]; currentLayer = cbLayerUse.Text; //Linetype setup cbLinetUse.Items.Clear(); foreach (var item in LufsGenplan.AcadApp.GetLinetypeList()) { cbLinetUse.Items.Add(item as object); } cbLinetUse.SelectedItem = cbLinetUse.Items[0]; currentLinetType = cbLinetUse.Text; //Color setup CheckbColorUse.Checked = false; selected_color = null; LbColorName.Text = "Цвет: "; pColor.BackColor = this.BackColor; return true; } catch (Exception ex) { LufsGenplan.AcadApp.AcaEd.WriteMessage("\nERROR: AreaLinearCalc.DocumentActivated() " + ex + "\n"); } return false; }
private void btSample_Click(object sender, EventArgs e) { try { btSample.Enabled = false; String layerName; String lineType; Autodesk.AutoCAD.Colors.Color color; LufsGenplan.AcadApp.SelectSample(RbAllEnt.Checked, out layerName, out color, out lineType); if (layerName == null) { return; } CheckbLayerUse.Checked = true; for (int j = 0; j < cbLayerUse.Items.Count; j++) { if ((cbLayerUse.Items[j] as AcadUtils.CbAutocadItem).Name == layerName) { cbLayerUse.SelectedIndex = j; break; //for } } currentLayer = cbLayerUse.Text; selected_color = color; if (selected_color.ColorNameForDisplay == "BYLAYER") { Autodesk.AutoCAD.Colors.Color cl = LufsGenplan.AcadApp.GetColorByLayer((cbLayerUse.SelectedItem as AcadUtils.CbAutocadItem).ID); pColor.BackColor = cl.ColorValue; } else { pColor.BackColor = selected_color.ColorValue; } pColor.Update(); LbColorName.Text = "Цвет: " + selected_color.ColorNameForDisplay; CheckbColorUse.Checked = true; CheckbLinetUse.Checked = true; for (int j = 0; j < cbLinetUse.Items.Count; j++) { if ((cbLinetUse.Items[j] as AcadUtils.CbAutocadItem).Name == lineType) { cbLinetUse.SelectedIndex = j; break; //for } } currentLinetType = cbLinetUse.Text; } catch (Exception ex) { LufsGenplan.AcadApp.AcaEd.WriteMessage("\nERROR: AreaLinearCalc.btSample_Click() " + ex + "\n"); } finally { btSample.Enabled = true; } }
private void BtSelectColor_Click(object sender, EventArgs e) { try { selected_color = LufsGenplan.AcadApp.SelectColor(); if (selected_color == null) { CheckbColorUse.CheckState = CheckState.Unchecked; return; } if (selected_color.ColorNameForDisplay == "BYLAYER") { Autodesk.AutoCAD.Colors.Color cl = LufsGenplan.AcadApp.GetColorByLayer((cbLayerUse.SelectedItem as AcadUtils.CbAutocadItem).ID); pColor.BackColor = cl.ColorValue; //!!!!!!!!!!! } else { pColor.BackColor = selected_color.ColorValue; } pColor.Update(); LbColorName.Text = "Цвет: " + selected_color.ColorNameForDisplay; } catch (Exception ex) { LufsGenplan.AcadApp.AcaEd.WriteMessage("\nERROR: AreaLinearCalc.BtSelectColor_Click() " + ex + "\n"); } }
public void UpdateColor() { Autodesk.AutoCAD.Colors.Color c = new Autodesk.AutoCAD.Colors.Color(); if (this.state == EstadoSemaforo.siga) { c = Autodesk.AutoCAD.Colors.Color.FromRgb((byte)0, (byte)255, (byte)0); this.posIndicator = new Point3d(0f, 0f, -12f); } if (this.state == EstadoSemaforo.alto) { c = Autodesk.AutoCAD.Colors.Color.FromRgb((byte)255, (byte)0, (byte)0); this.posIndicator = new Point3d(0f, 0f, -3f); } if (this.state == EstadoSemaforo.precaucion) { c = Autodesk.AutoCAD.Colors.Color.FromRgb((byte)255, (byte)255, (byte)0); this.posIndicator = new Point3d(0f, 0f, -7.5f); } Lab3.DBMan.UpdateColor(this.idIndicator, c); Lab3.DBMan.UpdateBlockPosition(new Point3d(this.block.Position.X + this.posIndicator.X, this.block.Position.Y + this.posIndicator.Y, this.block.Position.Z + this.posIndicator.Z), this.idIndicator); }