Exemple #1
0
        //选择范围
        private void T1007()
        {
            axMxDrawX1.DynWorldDraw += AxMxDrawX1_DynWorldDraw;//添加动态画框事件
            axMxDrawX1.AddLayer("tkbox");
            MxDrawPoint pt1 = axMxDrawX1.GetPoint(false, 0, 0, "开始坐标...") as MxDrawPoint;

            if (pt1 == null)
            {
                return;
            }
            MxDrawUiPrPoint scpt = new MxDrawUiPrPoint();

            scpt.message   = "终点坐标...";
            scpt.basePoint = pt1;
            scpt.setUseBasePt(false);
            var spdata = scpt.InitUserDraw("SelectRangeBox");

            axMxDrawX1.SetSysVarLong("ORTHOMODE", 0);
            spdata.SetPoint("BasePoint", pt1);
            if (scpt.go() != MCAD_McUiPrStatus.mcOk)
            {
                return;
            }
            spdata.Draw();

            //放大
            axMxDrawX1.ZoomWindow(pt1.x, pt1.y, spdata.DragPoint.x, spdata.DragPoint.y);
            PublicValue = new
            {
                Lx = pt1.x,
                Ly = pt1.y,
                Lz = pt1.z,
                Rx = spdata.DragPoint.x,
                Ry = spdata.DragPoint.y,
                Rz = spdata.DragPoint.z
            };
            //删除选择框
            MxDrawSelectionSet ss     = new MxDrawSelectionSet();
            MxDrawResbuf       filter = new MxDrawResbuf();

            filter.AddStringEx("tkbox", 8);
            ss.Select(MCAD_McSelect.mcSelectionSetAll, null, null, filter);
            for (int i = 0; i < ss.Count; i++)
            {
                axMxDrawX1.Erase(ss.Item(i).ObjectID);
            }
            //删掉画框的图层
            MxDrawDatabase          database = axMxDrawX1.GetDatabase() as MxDrawDatabase;
            IMxDrawLayerTableRecord layer    = database.GetLayerTable().GetAt("tkbox", false);

            if (layer != null)
            {
                layer.Erase();
            }
            return;
        }
Exemple #2
0
        private void Delete_layer()
        {
            MxDrawSelectionSet scn    = new MxDrawSelectionSet();
            MxDrawResbuf       filter = new MxDrawResbuf();

            filter.AddStringEx("HLT_BEAM_CLINE", 8);
            scn.Select(MCAD_McSelect.mcSelectionSetWindow, null, null, filter);
            for (int i = 0; i < scn.Count; i++)
            {
                scn.Item(i).Erase();
            }
            // 得到数据库对象.
            MxDrawDatabase database = (MxDrawDatabase)axMxDrawX1.GetDatabase();
            // 得到层表.
            MxDrawLayerTable layerTable = database.GetLayerTable();
            // 得到层。
            MxDrawLayerTableRecord layer = layerTable.GetAt("HLT_BEAM_CLINE", false);

            if (layer != null)
            {
                layer.Erase();
            }
        }