liminnet
发表于 2009-10-19 17:52:00
雪山飞狐_lzh
发表于 2009-10-19 18:15:00
<p>自己做个枚举</p><p>using System;<br/>using System.Collections.Generic;<br/>using System.ComponentModel;<br/>using System.Data;<br/>using System.Drawing;<br/>using System.Linq;<br/>using System.Text;<br/>using System.Windows.Forms;</p><p>namespace WindowsFormsApplication2<br/>{</p><p> //相关数据查询Cad帮助,下面只是示例<br/> public enum OSMode<br/> {<br/> ByEnd = 1,<br/> ByMid = 2<br/> }</p><p> public partial class Form1 : Form<br/> {<br/> public Form1()<br/> {<br/> InitializeComponent();<br/> }</p><p> private void Form1_Load(object sender, EventArgs e)<br/> {<br/> //设置<br/> OSMode osm = OSMode.ByEnd | OSMode.ByMid;<br/> if ((osm & OSMode.ByEnd) == OSMode.ByEnd)<br/> {<br/> MessageBox.Show("ByEnd");<br/> //去除ByEnd<br/> osm = osm ^ OSMode.ByEnd;</p><p> }<br/> }<br/> }<br/>}</p>
wylong
发表于 2009-10-19 18:54:00
<p class="table_body">类型:整数<br/>保存位置:注册表<br/>初始值: 4133 </p><p class="table_body">使用下列位码设置“对象捕捉”的运行模式: <br/></p><p class="table_list">0 NON(无) </p><p class="table_list">1 END(端点) </p><p class="table_list">2 MID(中点) </p><p class="table_list">4 CEN(圆心) </p><p class="table_list">8 NOD(节点) </p><p class="table_list">16 QUA(象限点) </p><p class="table_list">32 INT(交点) </p><p class="table_list">64 INS(插入点) </p><p class="table_list">128 PER(垂足) </p><p class="table_list">256 TAN(切点) </p><p class="table_list">512 NEA(最近点) </p><p class="table_list">1024 QUI(快速) </p><p class="table_list">2048 APP(外观交点) </p><p class="table_list">4096 EXT(尺寸线) </p><p class="table_list">8192 PAR(平行)<br/></p><p class="table_body">要指定多个对象捕捉方式,请输入各个位码值之和。例如,输入 3 指定“端点”(位码 1) 和“中点”(位码 2) 对象捕捉。输入 16383 指定全部对象捕捉方式。<br/></p><p class="table_body">使用状态行的“对象捕捉”按钮关闭对象捕捉模式,除了返回 OSMODE 的普通值,还将返回位码 16384 (0x4000)。这个附加值有助于开发人员编写 AutoCAD 应用程序并将此模式与“绘图设置”对话框关闭的对象捕捉模式区别开来。设置此位码值将关闭对象捕捉。在该位码值关闭时将 OSMODE 设置为其他值可以打开对象捕捉。</p>
wylong
发表于 2009-10-19 18:56:00
Autocad用户手册中系统变量里面就有的,上面的就是复制Autocad用户手册的相关说明。
雪山飞狐_lzh
发表于 2009-10-19 21:29:00
完整的代码:)
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace WindowsFormsApplication2
{
public enum OSMode
{
None = 0,
End = 1,
Middle = 2,
Center = 4,
Node = 8,
Quadrant = 16,
Intersection = 32,
Insert = 64,
Pedal = 128,
Tangent = 256,
Nearest = 512,
Quick = 1024,
Appearance = 2048,
Extension = 4096,
Parallel = 8192
}
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
//设置端点、中点、插入点
OSMode osm =
OSMode.End |
OSMode.Middle |
OSMode.Insert;
MessageBox.Show(osm.ToString());
//查询是否包含端点捕捉
if ((osm & OSMode.End) == OSMode.End)
{
MessageBox.Show("ByEnd");
//去除端点捕捉
osm = osm ^ OSMode.End;
MessageBox.Show(osm.ToString());
}
}
}
}
liminnet
发表于 2009-10-20 12:59:00
页:
[1]