Esempio n. 1
0
        private static void AddZxbzSymbol(XmlDBManager xmlDBManager, ElectronTransferModel.V9_4.Gg_gl_zxbz_n zxbzn)
        {
            var zxbzGeom = DBEntityFinder.Instance.GetZxbzGeomByG3e_fid(xmlDBManager, zxbzn.G3E_FID);

            if (zxbzGeom != null)
            {
                //获取坐标
                var point = new Point3d((zxbzGeom.G3E_GEOMETRY as Multipoint).Points[0].X,
                                        (zxbzGeom.G3E_GEOMETRY as Multipoint).Points[0].Y, 0);
                //获取角度
                var rotateAngle = Math.Atan2((zxbzGeom.G3E_GEOMETRY as Multipoint).Points[1].Y,
                                             (zxbzGeom.G3E_GEOMETRY as Multipoint).Points[1].X);

                //杂项标注图层
                var layerID = DCadApi.addLayer("杂项标注");
                //标注大小
                var lbHeight = 0.35 / MapConfig.Instance.earthscale;
                //标注颜色
                var color = CADColor.FromRgb(0, 0, 0);

                if (!string.IsNullOrEmpty(zxbzn.MIF_TEXT))
                {
                    Entity tEntity;
                    var    lb        = DBEntityFinder.Instance.GetLabel_LB(zxbzGeom);
                    var    alignment = DBEntityFinder.Instance.GetG3eAlignment(lb);
                    if (zxbzn.MIF_TEXT.Contains("\n"))
                    {
                        tEntity = SymbolLabel.Mtext(zxbzn.MIF_TEXT, point, rotateAngle, lbHeight, layerID);
                    }
                    else
                    {
                        tEntity = SymbolLabel.AddText(zxbzn.MIF_TEXT, point, rotateAngle, lbHeight, layerID, color,
                                                      alignment);
                    }
                    DCadApi.AddPinchPoint(tEntity);
                    DCadApi.AddLabelPinchPoint(tEntity);
                    //添加到当前模型中
                    var objectId = PublicMethod.Instance.ToModelSpace(tEntity);
                    zxbzGeom.IsErased   = false;
                    zxbzGeom.EntityType = EntityType.ZxLabel;
                    PublicMethod.Instance.AddDBSymbolFinder(objectId, zxbzGeom);
                }
            }
        }
Esempio n. 2
0
        private void AddZxbz()
        {
            var ssdw   = ComBox_SSDW.Text;
            var bzlx   = ComBox_BZLX.Text;
            var bzText = TXT_BZNR.Text.Trim();

            if (string.IsNullOrEmpty(bzlx))
            {
                MessageBox.Show("标注类型不能为空!", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                return;
            }
            if (!string.IsNullOrEmpty(bzText))
            {
                //if (!DBEntityFinder.Instance.HasZxbz(entityArgs.g3eObject.G3E_FID.ToString()))
                //{
                isInsert        = true;
                Btn_Add.Enabled = false;
                //杂项标注图层
                var layerID = DCadApi.addLayer("杂项标注");
                //标注大小
                var lbHeight = 0.35 / MapConfig.Instance.earthscale;
                //标注颜色
                var color = Autodesk.AutoCAD.Colors.Color.FromRgb(0, 0, 0);
                ViewHelper.zxLabelManagerPs.KeepFocus = false;
                Entity mText;
                if (bzText.Contains("\n"))
                {
                    mText = SymbolLabel.Mtext(bzText, Point3d.Origin, 0, lbHeight, layerID);
                    //if (!PublicMethod.Instance.MultTextStyleId.IsNull)
                    //    ((MText)mText).TextStyleId = PublicMethod.Instance.MultTextStyleId;
                }
                else
                {
                    mText = SymbolLabel.AddText(bzText, Point3d.Origin, 0, lbHeight, layerID, color);
                }
                if (BlockJig.Jig(mText, true))
                {
                    isInsert = false;
                    DCadApi.AddPinchPoint(mText);
                    DCadApi.AddLabelPinchPoint(mText);
                    //添加到当前模型中
                    var objId = PublicMethod.Instance.ToModelSpace(mText);
                    //转换成空间坐标
                    var            mpt = ConvertGeometry.Instance.GetMultipoint(objId);
                    ElectronSymbol pt  = null;
                    //添加杂标数据
                    var result = InsertDBEntity.InsertZXBZ(entityArgs.g3eObject.G3E_FID, bzText, bzlx, ssdw, mpt, ref pt);
                    if (pt != null)
                    {
                        //保存记录
                        DBSymbolFinder.Instance.Add(objId, pt);
                    }
                    var message = result ? "新增成功!" : "新增失败!";
                    ViewHelper.zxLabelManagerPs.KeepFocus = true;
                    PublicMethod.Instance.ShowMessage(message);
                }
                Btn_Add.Enabled = true;
                //}
                //else
                //    MessageBox.Show("杂项标注已添加!", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Stop);
            }
            else
            {
                TXT_BZNR.Focus();
                MessageBox.Show("标注内容不能为空!", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Stop);
            }
        }