AutoCAD.NET API2018二次开发第十一章

光标大小、滚动条、数据格式、栅格捕捉以及 正交

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

//运行时
using Autodesk.AutoCAD.Runtime;
//数据库
using Autodesk.AutoCAD.DatabaseServices;
//应用程序服务
using Autodesk.AutoCAD.ApplicationServices;
//几何
using Autodesk.AutoCAD.Geometry;
using Autodesk.AutoCAD.Interop;
using Autodesk.AutoCAD.Interop.Common;


namespace AutoDemo15
{
    public class Class1
    {
        //设置十字丝光标大小
        [CommandMethod("SetCursor")]

        public static void SetCursor()
        {
            //获取偏好
            AcadPreferences acPre = Application.Preferences as AcadPreferences;
            //设置光标为100
            acPre.Display.CursorSize = 100;

        }

        //显示/隐藏滚动条
        [CommandMethod("SetScrollBar")]
        public static void SetScrollBar()
        {
            //获取偏好
            AcadPreferences acPre = Application.Preferences as AcadPreferences;
            //滚动条目前的状态
            bool bSB = acPre.Display.DisplayScrollBars;
            //重新设置滚动条
            acPre.Display.DisplayScrollBars = !bSB;

        }

        //设置文件另存的数据格式

        [CommandMethod("SetFileType")]

        public static void SetFileType()
        {
            AcadPreferences acPre = Application.Preferences as AcadPreferences;
            //设置数据格式
            acPre.OpenSave.SaveAsType = AcSaveAsType.ac2000_dwg;

        }


        //修改网格大小、捕捉基点

        [CommandMethod("WGDX")]
        public static void WGDX()
        {
            //获取当前文档
            Document acDoc = Application.DocumentManager.MdiActiveDocument;
            //获取数据库
            Database acDB = acDoc.Database;
            //开启 事务
            using (Transaction acTran = acDB.TransactionManager.StartTransaction())
            {
                //获取当前视口记录  以事务获取对象 通过文档编辑器操作id以写模式打开
                ViewportTableRecord acVPR = acTran.GetObject(acDoc.Editor.ActiveViewportId, OpenMode.ForWrite) as ViewportTableRecord;
                //当前栅格打开
                acVPR.GridEnabled = true;
                //设置之间的间距
                acVPR.GridIncrements = new Autodesk.AutoCAD.Geometry.Point2d(5, 5);
                //打开栅格捕捉
                acVPR.SnapEnabled = true;
                //栅格捕捉间距
                acVPR.SnapIncrements = new Autodesk.AutoCAD.Geometry.Point2d(10, 10);
                //设置捕捉的极点
                acVPR.SnapBase = new Autodesk.AutoCAD.Geometry.Point2d(1, 1);
                //更新视图
                acDoc.Editor.UpdateTiledViewportsFromDatabase();
                //事务提交
                acTran.Commit();
            }
        }

        //打开/关闭正交

        [CommandMethod("Orth")]

        public static void Orth()
        {
            //获取当前状态
            bool bOrth;
            //Orthomode 获取状态
            bOrth = Application.DocumentManager.MdiActiveDocument.Database.Orthomode;
            //重新设置
            Application.DocumentManager.MdiActiveDocument.Database.Orthomode = !bOrth;

        }

    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值