Beispiel #1
0
        public BB_JigSplineArrow(Point3d pnt3dFirst, double txtSize, string nameLayer, Color color)
            : base(new Leader())
        {
            _mPts = new Point3dCollection();
            _mPts.Add(pnt3dFirst);
            Layer.manageLayers(nameLayer);
            Leader leader = Entity as Leader;

            leader.DimensionStyle = Dim.getDimStyleTableRecord("Annotative");
            leader.SetDatabaseDefaults();
            try
            {
                leader.AppendVertex(pnt3dFirst);
            }
            catch (System.Exception ex)
            {
                BaseObjs.writeDebug(ex.Message + " BB_JigSplineArrow.cs: line: 32");
            }

            leader.IsSplined    = true;
            leader.Annotative   = AnnotativeStates.True;
            leader.HasArrowHead = true;
            leader.Dimasz       = txtSize;
            leader.Layer        = nameLayer;
            leader.Color        = color;

            _mIsJigStarted = false;
        }
Beispiel #2
0
        public LdrText_JigLeader0(Point3d pnt3d, double txtSize, string nameLayer, short color)
            : base(new Leader())
        {
            Layer.manageLayers(nameLayer);
            _mPts = new Point3dCollection();
            if (pnt3d != Pub.pnt3dO)
            {
                _mPts.Add(pnt3d);
                _mTempPoint = pnt3d;
            }

            Leader leader = Entity as Leader;

            leader.DimensionStyle = Dim.getDimStyleTableRecord("Annotative");
            leader.SetDatabaseDefaults();
            if (pnt3d != Pub.pnt3dO)
            {
                try
                {
                    leader.AppendVertex(pnt3d);
                }
                catch (System.Exception ex)
                {
                    BaseObjs.writeDebug(ex.Message + " LdrText_JigLeader0.cs: line: 42");
                }
            }

            leader.IsSplined    = false;
            leader.Annotative   = AnnotativeStates.True;
            leader.HasArrowHead = true;
            leader.Dimasz       = txtSize;
            leader.Layer        = nameLayer;
            leader.Color        = Color.FromColorIndex(ColorMethod.ByBlock, color);

            _mIsJigStarted = false;
        }
Beispiel #3
0
        addLeader(Point3d varPntIns, string varPntNum, string strLayer, string strProfile, int shtScale, double dblScaleProfileView, object varDesc = null)
        {
            Point3dCollection pnts3dLdr = new Point3dCollection();
            Point3d           pnt3d     = Pub.pnt3dO;

            pnts3dLdr.Add(varPntIns);
            pnt3d = new Point3d(varPntIns.X + 4, varPntIns.Y - 4, 0);
            pnts3dLdr.Add(pnt3d);

            string strDesc = varPntNum;

            int      intStrLen  = strDesc.Length;
            ObjectId idTxtStyle = ObjectId.Null;

            try
            {
                idTxtStyle = Txt.getTextStyleId("Annotative");
            }
            catch (Exception)
            {
                idTxtStyle = Txt.getTextStyleId("Standard");
            }

            ObjectId idDimStyle = ObjectId.Null;

            try
            {
                idDimStyle = Dim.getDimStyleTableRecord("Annotative");
            }
            catch (Exception)
            {
                idDimStyle = Dim.getDimStyleTableRecord("Standard");
            }

            short intColor = 256;

            if (strProfile == "EXIST")
            {
                intColor = 1;
            }
            else
            {
                intColor = 4;
            }
            Wall_Form.frmWall2 fWall2 = Wall_Forms.wForms.fWall2;
            MText    mTxt             = null;
            ObjectId idMtext          = ObjectId.Null;

            try
            {
                idMtext = Txt.addMText(strDesc, pnt3d, 0, 0);

                using (Transaction tr = BaseObjs.startTransactionDb())
                {
                    mTxt             = (MText)tr.GetObject(idMtext, OpenMode.ForWrite);
                    mTxt.Attachment  = AttachmentPoint.BottomLeft;
                    mTxt.Layer       = strLayer;
                    mTxt.Color       = Color.FromColorIndex(ColorMethod.ByBlock, (short)intColor);
                    mTxt.TextStyleId = idTxtStyle;

                    MText          objLabel   = fWall2.LABEL;
                    List <Point3d> varPntsInt = mTxt.intersectWith(objLabel, false, extend.none);

                    if (varPntsInt.Count > 0)
                    {
                        Point3d pnt3dX = new Point3d(pnt3d.X - 0.35 * dblScaleProfileView, pnt3d.Y, 0);
                        mTxt.Location = pnt3dX;
                    }
                    fWall2.LABEL = mTxt;

                    tr.Commit();
                }
            }
            catch (Exception)
            {
            }

            ObjectId idLayer  = Layer.manageLayers(strLayer);
            ObjectId idLeader = Ldr.addLdr(pnts3dLdr, idLayer, 0.09, 0, clr.byl, idMtext);
            Leader   ldr      = null;

            using (Transaction tr = BaseObjs.startTransactionDb())
            {
                ldr                = (Leader)tr.GetObject(idLeader, OpenMode.ForWrite);
                ldr.Dimasz         = 0.09;
                ldr.HasArrowHead   = true;
                ldr.Dimgap         = 0.01;
                ldr.DimensionStyle = idDimStyle;

                tr.Commit();
            }

            TypedValue[] tvs = new TypedValue[] { new TypedValue(1001, "LEADER"), new TypedValue(1005, ldr.Handle) };
            idMtext.setXData(tvs, "LEADER");
            return(true);
        }