csharp高级属性定义

csharp高级属性定义
csharp高级属性定义

C#自定义控件属性与行为

分类:C#2010-10-08 09:49 1337人阅读评论(1) 收藏举报控件应该定义属性而不是公共字段,因为可视化设计器在属性浏览器中显示属性,而不显示字段。属性就像智能字段。属性通常具有带访问函数的专用数据成员,在语法上属性被作为类的字段进行访问。(虽然属性可以具有不同的访问级别,但此处的讨论将重点放在公共访问这种更加常见的情况上。

属性定义通常由以下两部分组成:

1、专用数据成员的定义。

[c-sharp]view plaincopy

1.private int number = 0;

2、使用属性声明语法对公共属性进行的定义。

[c-sharp]view plaincopy

1.//该语法通过 get 和 set 访问函数将专用数据成员和公共属性关联起来。

2.public int MyNumber

3.{

4.get

5.{

6.return number;

7.}

8.set

9.{

10.number = value;

11.}

12.}

虽然属性定义中通常包含专用数据成员,但这不是必需的。get 访问器不用访问私有数据成员就可以返回值。get 方法返回系统时间的属性就属于这种情况。属性启用数据隐藏,访问器方法隐藏属性的实现。

定义属性时需考虑以下重要的注意事项:

1、必须将属性应用于定义的属性。属性用来指定设计器显示属性的方式。

2、如果改变属性将影响控件的外观显示,请从set 访问器中调用Invalidate 方法(从Control 继承该方法)。Invalidate 随后调用OnPaint 方法,该方法将重新绘制控件。为提高效率起见,对Invalidate 的多次调用将产生对OnPaint 的一次调用。

3、 .NET Framework 类库为常见数据类型(如整数、小数、布尔值和其他数据)提供了类型转换器。类型转换器的目的通常是用来提供字符串到数值的转换(从字符串数据转换为其他数据类型)。常见数据类型与默认类型转换器(将数值转换为字符串,并将字符串转换

为相应数据类型)相关联。如果定义了自定义(即,非标准)数据类型的属性,则应用的属性必须将类型转换器指定为与该属性相关联。还可以使用属性使自定义UI 类型编辑器与某个属性相关联。UI 类型编辑器提供了一个用来编辑属性或数据类型的用户界面。颜色选择器是UI 类型编辑器的一个示例。

例:首先创建一个名为DrawingMode 的简单枚举。

[c-sharp]view plaincopy

1.public enum DrawingMode

2.{

3.Happy = 0,

4.Sad = 1,

5.Angry = 2

6.}

接着,向该控件添加MyDrawingMode 属性

[c-sharp]view plaincopy

1.private DrawingMode myDrawingMode;

2.[Browsable(true), Category("Appearance")]

3.public DrawingMode MyDrawingMode

4.{

5.get

6.{

7.return myDrawingMode;

8.}

9.set

10.{

11.myDrawingMode = value;

12.SetColors();

13.}

14.}

对SetColors 方法的调用只是根据myDrawingMode 的值设置控件的BackColor 和ForeColor。向控件添加下面的代码。

[c-sharp]view plaincopy

1.private void SetColors()

2.{

3.switch (myDrawingMode)

4.{

5.case DrawingMode.Happy:

6.this.BackColor = Color.Yellow;

7.this.ForeColor = Color.Green;

8.break;

9.case DrawingMode.Sad:

10.this.BackColor = Color.LightSlateGray;

11.this.ForeColor = Color.White;

12.break;

13.case DrawingMode.Angry:

14.this.BackColor = Color.Red;

15.this.ForeColor = Color.Teal;

16.break;

17.default:

18.this.BackColor = Color.Black;

19.this.ForeColor = Color.White;

20.break;

21.}

22.}

现在可以向控件的paint方法添加代码,来绘制控件的样式,也可以添加现有的控件来组合实现想要的功能(例子里面有)。

[c-sharp]view plaincopy

1.private void UserControl1_Paint(object sender, PaintEventArgs e)

2.{

3.Graphics curG = e.Graphics;

4.Pen curPen = new Pen(Color.Black);

5.Rectangle curRect = new Rectangle(0, 0, Width - 2, Height - 3);

6.curG.DrawRectangle(curPen, curRect);

7.curG.DrawEllipse(curPen, curRect);

8.}

事件(Event)

事件是对象发送的消息,以发信号通知操作的发生。操作可能是由用户交互(例如鼠标单击)引起的,也可能是由某些其他的程序逻辑触发的。引发事件的对象称为事件发送方。捕获事件并对其作出响应的对象叫做事件接收方。

在事件通信中,事件发送方类不知道哪个对象或方法将接收到(处理)它引发的事件。所需要的是在源和接收方之间存在一个媒介(或类似指针的机制)。.NET Framework 定义了一个特殊的类型(Delegate),该类型提供函数指针的功能。

代理(delegate)

delegate是C#中的一种类型,它实际上是一个能够持有对某个方法的引用的类。与其它的类不同,delegate类能够拥有一个签名(signature),并且它只能持有与它的签名相匹配的方法的引用。这样,代理就等效于一个类型安全函数指针或一个回调。它允许你传递一个类A的方法m给另一个类B的对象,使得类B的对象能够调用这个方法m。但与函数指针相比,delegate有许多函数指针不具备的优点。首先,函数指针只能指向静态函数,而delegate既可以引用静态函数,又可以引用非静态成员函数。在引用非静态成员函数时,delegate不但保存了对此函数入口指针的引用,而且还保存了调用此函数的类实例的引用。其次,与函数指针相比,delegate是面向对象、类型安全、可靠的受控(managed)对象。也就是说,runtime能够保证delegate指向一个有效的方法,你无须担心delegate会指向无效地址或者越界地址。

实现一个delegate是很简单的,通过以下3个步骤即可实现一个delegate:

1.声明一个delegate对象,它应当与你想要传递的方法具有相同的参数和返回值类型。2.创建delegate对象,并将你想要传递的函数作为参数传入。

3.在要实现异步调用的地方,通过上一步创建的对象来调用方法。

[c-sharp]view plaincopy

1.public class MyDelegateTest

2.{

3.// 步骤1,声明delegate对象

4.public delegate void MyDelegate(string name);

5.// 这是我们欲传递的方法,它与MyDelegate具有相同的参数和返回值类型

6.public static void MyDelegateFunc(string name)

7.{

8.Console.WriteLine("Hello, {0}", name);

9.}

10.public static void Main ()

11.{

12.// 步骤2,创建delegate对象

13.MyDelegate md = new MyDelegate(MyDelegateTest.MyDelegateFunc);

14.// 步骤3,调用delegate

15.md("sam1111");

16.}

17.}

C#中的事件处理实际上是一种具有特殊签名的delegate,象下面这个样子:

[c-sharp]view plaincopy

1.public delegate void MyEventHandler(object sender, MyEventArgs e);

其中的两个参数,sender代表事件发送者,e是事件参数类。MyEventArgs类用来包含与事件相关的数据,所有的事件参数类都必须从System.EventArgs类派生。当然,如果你的事件不含特别的参数,那么可以直接用System.EventArgs类作为参数。

结合delegate的实现,我们可以将自定义事件的实现归结为以下几步:

1:定义delegate对象类型,它有两个参数,第一个参数是事件发送者对象,第二个参数是事件参数类对象。

2:定义事件参数类,此类应当从System.EventArgs类派生。如果事件不带参数,这一步可以省略。

3:定义事件处理方法,它应当与delegate对象具有相同的参数和返回值类型。

4:用event关键字定义事件对象,它同时也是一个delegate对象。

5:用+=操作符添加事件到事件队列中(-=操作符能够将事件从队列中删除)。

6:在需要触发事件的地方用调用delegate的方式写事件触发方法。一般来说,此方法应为protected访问限制,既不能以public方式调用,但可以被子类继承。名字是可以是OnEventName。

7:在适当的地方调用事件触发方法触发事件。

下面是一个例子,例子模仿容器和控件的模式,由控件触发一个事件,在容器中捕捉并且进行处理。

[c-sharp]view plaincopy

1.///

2./// 事件的触发者

3.///

4.public class Control

5.{

6.public delegate void SomeHandler(object sender, System.EventArgs e);

7.public event SomeHandler SomeEvent;

8.public Control()

9.{

10.//这里使用的delegate必须与事件中声名的一致

11.this.SomeEvent += new SomeHandler(this.ProcessSomeEvent);

12.}

13.public void RaiseSomeEvent()

14.{

15.EventArgs e = new EventArgs();

16.Console.Write("Please input 'a':");

17.string s = Console.ReadLine();

18.//在用户输入一个小a的情况下触发事件,否则不触发

19.if (s == "a")

20.{

21.SomeEvent(this, e);

22.}

23.}

24.//事件的触发者自己对事件进行处理,这个方法的参数必须和代理中声名的一致

25.private void ProcessSomeEvent(object sender, EventArgs e)

26.{

27.Console.WriteLine("hello");

28.}

29.}

[c-sharp]view plaincopy

1.///

2./// 事件的接收和处理者

3.///

4.class Container

5.{

6.private Control ctrl = new Control();

7.public Container()

8.{

9.//这里使用的delegate必须与事件中声名的一致

10.ctrl.SomeEvent += new Control.SomeHandler(this.ResponseSomeEvent);

11.ctrl.RaiseSomeEvent();

12.}

13.public static void Main()

14.{

15.Container pane = new Container();

16.Console.ReadLine();

17.}

18.//这是事件的接受者对事件的响应

19.private void ResponseSomeEvent(object sender, EventArgs e)

20.{

21.Console.WriteLine("Some event occur!");

22.}

23.}

[c-sharp]view plaincopy

1.//程序运行的结果如下:

2.please input 'a':a

3.hello

4.Some event occur!

而我们看到的工具箱上的每个控件都有自己的图标,我们可以通过下面语句为自己制作的控件添加图标。

[c-sharp]view plaincopy

1.[ToolboxBitmap(@"D:/Program Files/qq/AirDLIcon/1381love.ico")]

2.public partial class UserControl1 : UserControl

3.{………….}

即在控件类前面加上ToolboxBitmap属性,属性参数指向一个图片的地址就可以了。

再比如,我自己定义了一个属性,如果不进行设置,是不会在属性窗口显示的,也就是我们在用控件的时候不能够通过可视化的界面对其进行设置,想让它在属性窗口显示,就要用Browsable属性了,如下面的例子。

[c-sharp]view plaincopy

1.public enum DrawingMode{Happy = 0,Sad = 1,Angry = 2}

2.private DrawingMode myDrawingMode;

3.[Browsable(true)]

4.public DrawingMode MyDrawingMode

5.{

6.get

7.{

8.return myDrawingMode;

9.}

10.set

11.{

12.myDrawingMode = value;

13.}

14.}

像这样的属性还可以组合使用,例如上面的例子,我在Browsable属性后面再加上一个Category属性,让它的参数等于Appearance,这时我们自己定义的属性就从属性框中的杂项转到了外观项里面了。

[c-sharp]view plaincopy

1.[Browsable(true), Category("Appearance")]

像这样的属性有很多,我主要罗列下面这些,在使用的时候大家可以参照。

Browsable

适用于属性和事件,指定属性或事件是否应该显示在属性浏览器中。

Category

适用于属性和事件,指定类别的名称,在该类别中将对属性或事件进行分组。当使用了类别时,组件属性和事件可以按逻辑分组显示在属性浏览器中。

Description

适用于属性和事件,定义一小块文本,该文本将在用户选择属性或事件时显示在属性浏览器底部。

Bindable

适用于属性指定是否要绑定到该属性。

DefaultProperty

适用于属性,(将此特性插入类声明前。)指定组件的默认属性。当用户单击控件时,将在属性浏览器中选定该属性。

DefaultValue

适用于属性,为属性设置一个简单的默认值。

Editor

适用于属性,指定在可视设计器中编辑(更改)属性时要使用的编辑器。

Localizable

适用于属性,指定属性可本地化。当用户要本地化某个窗体时,任何具有该特性的属性都将自动永久驻留到资源文件中。

DesignerSerializationVisibility

适用于属性,指定显示在属性浏览器中的属性是否应该(以及如何)永久驻留在代码中。TypeConverter

适用于属性,指定将属性的类型转换为另一个数据类型时要使用的类型转换器。DefaultEvent

适用于事件,(将此特性插入类声明前。)指定组件的默认事件。这是当用户单击组件时在属性浏览器中选定的事件。

cad写块、插入块、编辑块、属性定义块

创建和使用块 一、创建新图块 (一)创建新图块的三种方式 要创建一个新图块,首先要绘制组成图块的实体,然后用创建块的相应命令完成块的创建。 2006提供了三种方法调出创建新图块的对话框。 菜单方式:【绘图】→【块】→【创建…】 图标方式:单击绘图工具栏上的创建块按钮。 键盘输入方式: (二)创建新图块 下面我们介绍最常用的一种方法来创建一个新图块。 单击绘图工具栏上的“创建块”按钮后,打开“块定义” 对话框,如图8-1所示。

8-1 块定义对话框 该对话框中各部分的功能如下: 1.“名称”文本框 在其中输入图块名称。 2.“基点”选项组 用于确定图块插入点位置。 单击拾取点按钮,然后移动鼠标在绘图区内选择一个点。也可在X、Y、Z文本框中输入具体的坐标值。 3.“对象”选项组 选择构成图块的对象及控制对象显示方式。 单击“选择对象”按钮,将隐藏块定义对话框,用户可在绘图区内用鼠标选择构成块的对象,右击鼠标结束选择。则块定义对话框重新出现。 单击“快速选择”按钮,打开快速选择对话框。用户可通过该对话框进行快速过滤,选择满足一定条件的对象。 选择“保留”选项,则在用户创建完图块后,将继续保留这些构成图块的对象,并将它们当作一个普通的单独对象来对待。 选择“转化为块”选项,则在用户创建完图块后,将自动将这些构成图块的对象转化为一个图块来对待。 选择“删除”选项,则在用户创建完图块后,将删除所有构成图块的对象目标。 4.“预览图标”选项组

控制是否显示图块图标。 选择“不包括图标”选项后,将不会显示用户新定义图块的几何轮廓图标。 选择“从块的几何图形创建图标”选项后,将在“预览图标”选项组的右边显示用户新定义图块的几何轮廓图标。 5.“插入单位”列表框 设置当用户从设计中心拖放该图块时的插入比例单位。 6.“说明”列表框 用户可在其中输入与所定义图块有关的描述性文字。 7.“超级链接”按钮 打开“插入超链接”对话框,可用它将超链接与块定义相关联。 【例8-1】绘制一个螺钉,并将其定义为块。 (1)用 2006绘制如图8-2所示的螺钉,(具体尺寸可查有关手册)。 (2)单击绘图工具栏上的“创建块”按钮,打开如图8-3所示的对话框。 (3)在名称文本框中输入块的名称:螺钉 (4)在基点选项组中单击“拾取点”按钮,然后在绘图区单击一点作为基点。 (5)在对象选项组中单击“选择对象”按钮,然后在绘图区选取所绘制的螺钉。按回车返回对话框。

第5章创建属性块和动态块

第5章创建属性块和动态块 ●考点预览 1. 定义属性块 2. 编辑块的属性 3. 使用参数集 4. 查询距离和角度●课前预习 本章是AutoCAD学习的重要章节,特别是块的创建、定义与插入块,应作为重点掌握对象,动态块部分是AutoCAD2007以后才增加的内容,应用也非常广泛。 5.1任务18创建属性块 在绘图过程中,图块应用非常广泛,如图形中有大量相同的内容,或者所绘制的图形与已有的图形文件相似,可以把重复绘制的图形创建成块在需要时插入,掌握好图块的应用可大大提高设计和绘图效率。 5.1.1简单点评 在AutoCAD中可以创建块,块是AutoCAD中设计的主要内容,如果图形中有大量相同的内容,或者所绘制的图形与已有的图形文件相似,则可以把重复绘制的图形创建成块,在需要时插入,从而避免了重复性劳动,提高了设计和绘图效率,本节将对块的相关内容进行详细介绍。 5.1.2核心知识 块可以是绘制在几个图层上的不同颜色、线型和线宽等特性的对象的组合。尽管块总是在当前图层上,但块参照保存了有关包含在该块中的对象的原图层、颜色和线型特性的信息。可以控制块中的对象是保留其原特性还是继承当前的图层、颜色、线型或线宽设置。图块常用于绘制复杂的图形,一旦创建了图块,就可以根据需要将图块插入到图形的任何位置。1.创建块 每个块都包含一个名称、一个或多个对象,用于插入块的基点坐标值和所有相关的属性数据。在图形中创建块后,可以在图形中多重插入块参照。在菜单浏览器中,执行“绘图>块>创建”菜单命令,将弹出“块定义”对话框,如图5-1所示。 图5-1“块定义”对话框 2.写块 可以创建用作块的单独图形文件,可以创建图形文件,用于作为块插入到其他图形中,作为块定义源,单个图形文件容易创建和管理。符号集可作为单独的图形文件存储并编组到文件夹中。写块的方法与创建块的方法相似,在命令行中,输入

cad写块、插入块、编辑块、属性定义块

创建与使用块 一、创建新图块 (一)创建新图块得三种方式 要创建一个新图块,首先要绘制组成图块得实体,然后用创建块得相应命令完成块得创建。 AutoCAD 2006提供了三种方法调出创建新图块得对话框。 菜单方式:【绘图】→【块】→【创建…】 图标方式:单击绘图工具栏上得创建块按钮。 键盘输入方式:BLOCK (二)创建新图块 下面我们介绍最常用得一种方法来创建一个新图块。 单击绘图工具栏上得“创建块”按钮后,AutoCAD打开“块定义”对话框,如图8-1所示。 8-1 块定义对话框 该对话框中各部分得功能如下: 1.“名称”文本框 在其中输入图块名称。 2.“基点”选项组 用于确定图块插入点位置。 单击拾取点按钮,然后移动鼠标在绘图区内选择一个点。也可在X、Y、Z文本框中输入具体得坐标值。

3.“对象”选项组 选择构成图块得对象及控制对象显示方式。 单击“选择对象”按钮,AutoCAD将隐藏块定义对话框,用户可在绘图区内用鼠标选择构成块得对象,右击鼠标结束选择。则块定义对话框重新出现。 单击“快速选择”按钮,打开快速选择对话框。用户可通过该对话框进行快速过滤,选择满足一定条件得对象。 选择“保留”选项,则在用户创建完图块后,AutoCAD将继续保留这些构成图块得对象,并将它们当作一个普通得单独对象来对待。 选择“转化为块”选项,则在用户创建完图块后,AutoCAD将自动将这些构成图块得对象转化为一个图块来对待。 选择“删除”选项,则在用户创建完图块后,AutoCAD将删除所有构成图块得对象目标。 4.“预览图标”选项组 控制就是否显示图块图标。 选择“不包括图标”选项后,AutoCAD将不会显示用户新定义图块得几何轮廓图标。 选择“从块得几何图形创建图标”选项后,AutoCAD将在“预览图标”选项组得右边显示用户新定义图块得几何轮廓图标。 5.“插入单位”列表框 设置当用户从AutoCAD设计中心拖放该图块时得插入比例单位。 6.“说明”列表框 用户可在其中输入与所定义图块有关得描述性文字。 7.“超级链接”按钮 打开“插入超链接”对话框,可用它将超链接与块定义相关联。 【例8-1】绘制一个螺钉,并将其定义为块。 (1)用AutoCAD 2006绘制如图8-2所示得螺钉,(具体尺寸可查有关手册)。 (2)单击绘图工具栏上得“创建块”按钮,打开如图8-3所示得对话框。 (3)在名称文本框中输入块得名称:螺钉 (4)在基点选项组中单击“拾取点”按钮,然后在绘图区单击一点作为基点。 (5)在对象选项组中单击“选择对象”按钮,然后在绘图区选取所绘制得螺钉。按回车返回对话框。 (6) 在“预览图标”选项组、“插入单位”下拉列表框及“说明”列表框得选择如图8-3所示。

CAD属性定义

关于AutoCAD的属性定义及使用方法 属性(Attribute)是附加在块对象上的各种文本数据,它是一种特殊的文本对象,可包含用户所需要的各种信息。当插入图块时,系统将显示或提示输入属性数据。 属性具有两种基本作用: (1)在插入附着有属性信息的块对象时,根据属性定义的不同,系统自动显示预先设置的文本字符串,或者提示用户输入字符串,从而为块对象附加各种注释信息。 (2)可以从图形中提取属性信息,并保存在单独的文本文件中,供用户进一步使用。 属性在被附加到块对象之前,必须先在图形中进行定义。对于附加了属性的块对象,在引用时可显示或设置属性值。 实例1在块对象中使用属性 Step1创建图形文件 (1)启动AutoCAD2002系统,打开第4章中创建的实例文件“exam4-2.dwg”,并将其另存为“exam12-1.dwg”。 Step2定义属性 (1)在定义属性之前,首先利用“TextStyle(文字样式)”对话框,将当前的“Standard(标准)”文字样式的字体设为“TimesNewRoman”。 (2)然后定义两种不同的属性。选择菜单【Draw(创建)】→【Block(块)】→【DefineAttributes…(定义属性)】,弹出“AttributeDefinition(属性定义)”对话框,如图12-1所示,并进行如 下设置:

①在“Mode(模式)”栏中选择“Preset(预置)”选项。 ②在“Attribute(属性)”栏的“Tag(标记)”编辑框输入“bathtub”。在“Value(值)”编辑框输入“BATHTUB”。 ③在“TextOptions(文字选项)”中设置“Height(高度)”为10。 ④单击“InsertionPoint(插入点)”栏中的PickPoint<按钮返回绘图区,在图形中的浴盆中部位置选择一点。 (3)保持其他选项不变,单击OK按钮结束属性定义操作,结果如图12-2所示。 (4)再次弹出“AttributeDefinition(属性定义)”对话框,并进行如下设置: ①确认“Mode(模式)”栏中不选择任何项。 ②在“Attribute(属性)”栏的“Tag(标记)”编辑框输入“toilet”。在“Prompt(提示)”编辑框中输入“Thetoiletnumber”。其他各项为空。 ③在“TextOptions(文字选项)”中设置“Height(高度)”为15。 ④单击“InsertionPoint(插入点)”栏中的PickPoint<按钮返回绘图区,在图形下部空白处选择一点。 (5)完成以上设置后,单击Ok按钮结束命令。结果如图12-3所示。

AutoCAD的属性块及其应用

Auto CAD的属性块及其应用 提交日期:2003-03-26 浏览: 1787 0 引言 随着计算机应用的日益普及,我国相当数量的企业已采用计算机绘图,而其中绝大多数选用了AutoCAD作为工具软件。我国开发的面向产品的CAD软件大部分也是基于AutoCAD进行二次开发的,无论是交互式绘图,还是二次开发,对于标题栏、明细栏及其它类似表格的处理,基本上都采用插入图块再定位写文本的方式,不仅麻烦,而且在汇总整台机器的“三表”(指零件明细表、标准件明细表及外购件明细表)及其它相关的报告时,仍需要做大量、繁琐的人工抄录及检索工作。而属性块可以较好地解决以上问题。 1 创建属性块 1.1 属性 属性是随着块插入的附属文本信息。属性包含用户生成技术报告所需的信息,它可以是常量或变量、可视或不可视的,当用户将一个块及属性插入到图形中时,属性按块的缩放、比例和转动来显示。 1.2 定义属性 创建属性块之前必须预定义属性,通过预先定义文本大小、样式、对齐方式、层及文本的其他特点,可简化可视属性文本输入信息。具体定义方法如下: a.在命令行下输入“attdef”,再输入I,c,v或p或回车,各选项含义分别为:I:不可见;C:常值;V:校验;P:预置;一般情况用回车即可。 b.输入属性标记。该标记非常重要,它是用属性块生成技术报告时的字段名,可用相关的英文单词或汉语拼音表示,对于将在同一个报告中出现的属性,不要使用相同的标记名。 c.输入提示文本,也可直接回车不显示提示信息。 d.输入缺省的属性值。 e.接下去的提示与“text”命令相同。 每个属性均要重复以上定义过程。属性定义完成后,可以进行移动、复制、旋转、镜像、对齐等操作。 1.3 定义属性块 属性块的定义方法与普通块的定义基本一致,只是选择实体时,要把将在块中出现的属性选中。为方便多个图形文件共用,也可以用“wblock”命令将属性块写入硬盘。 2 使用属性块

第5章 创建属性块和动态块.(DOC)

第5章 创建属性块和动态块 5.1任务18创建属性块 在绘图过程中,图块应用非常广泛,如图形中有大量相同的内容,或者所绘制的图形与已有的图形文件相似,可以把重复绘制的图形创建成块在需要时插入,掌握好图块的应用可大大提高设计和绘图效率。 5.1.1简单点评 在AutoCAD 中可以创 建块,块是AutoCAD 中设计的主要内容,如果图形中有大量相同的内容,或者所绘制的图形与已有的图形文件相似,则可以把重复绘制的图形创建成块,在需要时插入,从而避免了重复性劳动,提高了设计和绘图效率,本节将对块的相关内容进行详细介绍。 5.1.2核心知识 块可以是绘制在几个图层上的不同颜色、线型和线宽等特性的对象的组合。尽管块总是在当前图层上,但块参照保存了有关包含在该块中的对象的原图层、颜色和线型特性的信息。可以控制块中的对象是保留其原特性还是继承当前的图层、颜色、线型或线宽设置。图块常用于绘制复杂的图形,一旦创建了图块,就可以根据需要将图块插入到图形的任何位置。 1.创建块 每个块都包含一个名称、一个或多个 对象,用于插入块的基点坐标值和所有相关的属性数据。在图形中创建块后,可以 在图形中多重插入块参照。在菜单浏览器中,执行“绘图>块>创建”菜单命令,将弹出“块定义”对话框,如图5-1所示。 图5-1“块定义”对话框 2.写块 可以创建用作块的单独图形文件,可以创建图形文件,用于作为块插入到其他图形中,作为块定义源,单个图形文件容易创建和管理。符号集可作为单独的图形文件存储并编组到文件夹中。写块的方法与创建块的方法相似,在命令行中,输入

wblock,将弹出“写块”对话框,如图5-2所示。 图5-2 “写块”对话框 3. 定义属性块 在块中创建存储数据的属性定义,属性定义可以是所创建的包含在块定义中的对象,属性可以存储数据,比如部件号、产品号等。在功能区中的“块和参照”选项卡下的“属性”面板上单击“定义属性”按钮,将弹出“属性定义”对话框,如图5-3所示。 图5-3 “属性定义”对话框 4. 插入块 每个图形文件都具有一个称作块定义表的不可见数据区域。块定义表中存储着全部的块定义,包括块的全部关联信息。在图形中插入块时,所参照的就是这些块定义。插入块时,将基点作为放置块的参照。以后,在插入块时将提示指定插入点。块基点与指定的插入点对齐。 在创建块后,可以在图形中插入块,插入块时即插入了块参照,在菜单浏览器中,执行“插入>块”菜单命令,将弹出“插入”对话框,如图5-4所示。 图5-4 “插入”对话框 5.编辑块的属性 在向图形中插入带属性的块后,可以编辑已经附着到块和插入图形的全部属性值及其他特性。编辑单个属性可以修改属性值、文字选项和特性。 块属性编辑器用于管理当前图形中块的属性定义。可以在块中编辑属性定义、从块中删除属性以及更改插入块时系统提示用户输入属性值的顺序,在功能区中的“块和参照”选项卡下的“属性”面板上,单击“管理属性”按钮,将弹出“块属性编辑器”对话框,如图5-5所示。 图5-5 “块属性编辑器”对话框 在AutoCAD中,使用块可以提高绘图效率,节约存储空间,便于修改图形,还能为块添加属性。在机械绘图中,常常要绘制一些相同的图形,可以把这些经常绘制的图形保存起来,例如标准件之类的图形,绘制这些图形时将这些图块插入到图形中即可,避免了重复性的工作,提高了工作效率。

CAD_的属性块定义及应用

CAD 的属性块定义及应用 1创建属性块 1.1属性 属性是随着块插入的附属文本信息。属性包含用户生成技术报告所需的信息,它可以是常量或变量、可视或不可视的,当用户将一个块及属性插入到图形中时,属性按块的缩放、比例和转动来显示。 1.2定义属性 创建属性块之前必须预定义属性, 通过预先定义文本大小、样式、对齐方式、层及文本的其他特点, 可简化可视属性文本输入信息。具体定义方法如下: a.在命令行下输入“attdef”,再输入I,c,v或p或回车,各选项含义分别为:I:不可见;C:常值;V:校验;P:预置;一般情况用回车即可。 b.输入属性标记。该标记非常重要,它是用属性块生成技术报告时的字段名,可用相关的英文单词或汉语拼音表示,对于将在同一个报告中出现的属性,不要使用相同的标记名。 c.输入提示文本, 也可直接回车不显示提示信息。 d.输入缺省的属性值。 e.接下去的提示与“text”命令相同。 f.每个属性均要重复以上定义过程。属性定义完成后,可以进行移动、复制、旋转、镜像、对齐等操作。 1.3定义属性块 属性块的定义方法与普通块的定义基本一致,只是选择实体时,要把将在块中出现的属性选中。为方便多个图形文件共用,也可以用“wblock”命令将属性块写入硬盘。 2使用属性块 2.1插入操作 属性块的插入方法与普通块的插入方法基本一致,只是在回答完块的旋转角度后需输各属性的具体值。 2.2编辑属性 块插入完成后,由于种种原因,可能需对某些属性值进行修改,这时一个常见的错误是:先用“explode”将块炸开,再准备作修改操作,但在块被炸开后会发现,这时属性值 全部变成了属性标记值。其实,修改属性值非常方便,仅需进行属性编辑即可,具体方法是:在modify菜单中选择“modifyat-tribute”或直接输入“ddatte”命令,选中待修改的属性块,在对话框中可以修改该块中所有的属性值。 2.3利用属性生成报告 属性的报告特征,使用户可以从图形中提取属性值,然后,用它们来生成1份独立的 报告。提取属性要求1个模板文件,该文件定义了属性的标记,同时还定义了每个区域的大小(参见实例)。对于提取属性来说,有3种输出文件格式,分别为sdf(空格定界)格式、df(逗号定界)格式以及dxf(图形交换码)格式。许多数据库都能识别cdf格式的输出文件,而sdf格式的输出文件不仅能为数据库程序所识别,而且也能为电子表 格利用。这3种格式的输出文件都可以用各种高级语言编写的程序来识别。提取属性所用的命令是“attext”或对话框形式的“ddattext”。

CAD属性定义

关于AutoCAD的属性定义及使用方法 https://www.360docs.net/doc/058063436.html,发布:2009-10-26 16:11:50来自:模具网浏览:525 次 属性(Attribute)是附加在块对象上的各种文本数据,它是一种特殊的文本对象,可包含用户所需要的各种信息。当插入图块时,系统将显示或提示输入属性数据。 属性具有两种基本作用: (1)在插入附着有属性信息的块对象时,根据属性定义的不同,系统自动显示预先设置的文本字符串, 或者提示用户输入字符串,从而为块对象附加各种注释信息。 (2)可以从图形中提取属性信息,并保存在单独的文本文件中,供用户进一步使用。 属性在被附加到块对象之前,必须先在图形中进行定义。对于附加了属性的块对象,在引用时可显示 或设置属性值。 实例1在块对象中使用属性 Step1创建图形文件 (1)启动AutoCAD2002系统,打开第4章中创建的实例文件“exam4-2.dwg”,并将其另存为 “exam12-1.dwg”。 Step2定义属性 (1)在定义属性之前,首先利用“TextStyle(文字样式)”对话框,将当前的“Standard(标准)”文字样式的字 体设为“TimesNewRoman”。 (2)然后定义两种不同的属性。选择菜单【Draw(创建)】→【Block(块)】→【DefineAttributes…(定义 属性)】,弹出“AttributeDefinition(属性定义)”对话框,如图12-1所示,并进行如下设置:

①在“Mode(模式)”栏中选择“Preset(预置)”选项。 ②在“Attribute(属性)”栏的“Tag(标记)”编辑框输入“bathtub”。在“Value(值)”编辑框输入“BATHTUB”。 ③在“TextOptions(文字选项)”中设置“Height(高度)”为10。 ④单击“InsertionPoint(插入点)”栏中的PickPoint<按钮返回绘图区,在图形中的浴盆中部位置选择一 点。 (3)保持其他选项不变,单击OK按钮结束属性定义操作,结果如图12-2所示。 (4)再次弹出“AttributeDefinition(属性定义)”对话框,并进行如下设置: ①确认“Mode(模式)”栏中不选择任何项。

CAD块属性定义使用方法及用途

有n多属性块。我想给这些属性块编号。编辑属性时属性标记为编号,属性值为1,2,3……600。我是先插入这六百个块,再一个一个进行编号。这太麻烦了,有没有什么方法可以批量的进行属性值的编辑。我的最终目的是提取这些块的与编号相对应的其它属性。比如坐标。请各位高手帮帮忙,先谢过 块属性概述 属性是将数据附着到块上的标签或标记。属性中可能包含的数据包括零件编号、价格、注释和物主的名称等等。标记相当于数据库表中的列名。下图显示了类型、制造商、型号和价格的标记。 从图形中提取的属性信息可用于电子表格或数据库,以生成零件列表或材质清单。只要每个属性的标记都不相同,就可以将多个属性与块关联。 插入带有变量属性的块时,会提示用户输入要与块一同存储的数据。块也可能使用常量属性(即属性值不变的属性)。常量属性在插入块时不提示输入值。 属性也可以“不可见”。不可见属性不能显示和打印,但其属性信息存储在图形文件中,并且可以写入提取文件供数据库程序使用。 定义块属性 要创建属性,首先创建描述属性特征的属性定义。特征包括标记(标识属性的名称)、插入块时显示的提示、值的信息、文字格式、位置和任何可选模式(不可见、固定、验证和预置)。 创建属性定义后,定义块时可以将属性定义当作一个对象来选择。插入块时都将用指定的属性文字作为提示。对于每个新的插入块,可以为属性指定不同的值。 要同时使用几个属性,请先定义这些属性,然后将它们包括在同一个块中。例如,可以定义带有“类型”、“制造商”、“型号”和“价格”标记的属性,然后将它们包括在名为CHAIR 的块中。 如果计划提取属性信息在零件列表中使用,可能需要保留所创建的属性标记列表。以后创建属性样板文件时,将需要此标记信息。 纠正块属性定义中的错误 如果产生错误,在属性定义与块关联之前,可以使用“特性”选项板或DDEDIT 命令编辑属性定义。可以改变标记、提示和默认值。 将属性附着到块上 在定义或重定义块时,可将属性附着到块上。当出现选择要包含到块定义中的对象的提示时,请将要附着到块的所有属性包含到选择集中。 要将几个属性附着到同一个块中,请先定义属性然后将它们包括在块定义中。选择属性的顺序决定插入块时提示属性信息的顺序。通常,属性提示顺序与创建块时选择属性的顺序相同。

AUTOCAD块图形的定义属性

AUTO CAD块图形的定义属性 在“Auto CAD块图形的应用”中讲了块图形在AUTO CAD的应用,现在讲一下如何参数化自己的块图形,就是给块图形定义属性。定义块图形属性后可以实现同一个块图形输入不同的字符,双击块图形可以弹出对话框修改图形显示的字符。 定义块图形属性要在建立块图形前完成,画好图形后窗口底部的命令栏输入“ATT”,也可以通过菜单栏进入:绘图—块——定义属性。就以做一个带属性的粗糙度符号为例。 画好粗糙度符号后,在属性中输入标记的名称,输入的提示和字符的默认值。文字设置中选取自定义好的字符格式(绘图空间格式请参考“AUTO CAD绘图模板基本设置”),选择文字的对齐方式后按确定,继续选择属性文字的位置。文字对齐和放置文字的位置相关,如果选取“正中”就以为这文字的中心就是选取点,多试几次就OK了。

最后把属性文字和图形一起框选,一并建立块图形就可以生成一个带有属性的块图形了。在插入这个块图形的时候命令栏会提示输入定义的属性值,如果不输入就全部返回默认值。插入时可以一路右键或者是Enter,然后再双击块图形在弹出的对话框中修改属性。试过OK就说明已经成功了建立了带属性的块图形了,用同样的方法可以建立自己的标题栏、明细栏、齿轮表等带参数的块图形。 CAD 的属性块定义及应用 0 引言 随着计算机应用的日益普及,我国相当数量的企业已采用计算机绘图,而其中绝大多数选用了AutoCAD作为工具软件。我国开发的面向产品的CAD软件大部分也是基于AutoCAD进行二次开发的,无论是交互式绘图,还是二次开发,对于标题栏、明细栏及其它类似表格的处理,基本上都采用插入图块再定位写文本的方式,不仅麻烦,而且在汇总整台机器的“三表”(指零件明细表、标准件明细表及外购件明细表)及其它相关的报告时,仍需要做大量、繁琐的人工抄录及检索工作。而属性块可以较好地解决以上问题。 1 创建属性块 1.1 属性

第七课:文字、块及块属性

第七课: 学习内容:文字、块及块属性 一:文字分为单行文字和多行文字 1:单行文字创建DT:生成单个的对象。 ***出现?问号时要使用自定义的文字样式。 定义文字样式ST:格式--文字样式--新建--起名称--选择字体(下方的“宋体”)--应用--关闭。 参数:S样式:改变当前使用的文字样式。 J对正:(A对齐:等比缩放文字。F 调整:非等比缩放) 2:多行文字MT:以文本方式创建文字是一个整体。 参数:高度H:设文字高度、行距L:行间距、W宽度 **编辑单行和多行文字选定双击。 多行文字炸开后成单行。 ***炸开后出现?问号时要使用自定义的文字样式。 3:符号:

文本框内右击--符号--%%C直径符号、%%P正负号、%%D度数。 4:特殊符号: 上标号:(*平方号)右击--符号--其它--字符映射表-找到后点击“选择”--复制--到文本框“粘贴。 上、下标号:利用堆叠和上角号。 分数的表示:6/8(除号和堆叠) 5:形象符号的输入:字符映射表--WEbDING 二:定义块:多次使用的图形。 块的分类:内部块和外部块 内部块:依附于当前文件,关闭文件块不能使用。 外部块:独立存在的文件,任意一个文件都可以使用。 创建块B:选择对象--拾取点--起名称--确定。 插入块I:**重点:分解块 定义外部块W:选择对象--拾取点-指定保存的路径--确定。 使用外部块I:浏览--找到块的保存位置

——打开。 三:定义块属性ATT:绘图菜单--块--定义块属性 标记、提示、值。 张三李四王五 定义属性值后必须生成块:再用I插入块--根据提示输入属性值。 插入带有属性的块时不能勾选“分解” **改变块属性:在块上面双击。

AUTO CAD块图形的定义属性

AUTO CAD块图形的定义属性 November 27th, 2008 Alex Leave a comment Go to comments 在“Auto CAD块图形的应用”中讲了块图形在AUTO CAD的应用,现在讲一下如何参数化自己的块图形,就是给块图形定义属性。定义块图形属性后可以实现同一个块图形输入不同的字符,双击块图形可以弹出对话框修改图形显示的字符。 定义块图形属性要在建立块图形前完成,画好图形后窗口底部的命令栏输入“ATT”,也可以通过菜单栏进入:绘图—块——定义属性。就以做一个带属性的粗糙度符号为例。 画好粗糙度符号后,在属性中输入标记的名称,输入的提示和字符的默认值。文字设置中选取自定义好的字符格式(绘图空间格式请参考“AUTO CAD绘图模板基本设置”),选择文字的对齐方式后按确定,继续选择属性文字的位置。文字对齐和放置文字的位置相关,如果选取“正中”就以为这文字的中心就是选取点,多试几次就OK了。

最后把属性文字和图形一起框选,一并建立块图形就可以生成一个带有属性的块图形了。在插入这个块图形的时候命令栏会提示输入定义的属性值,如果不输入就全部返回默认值。插入时可以一路右键或者是Enter,然后再双击块图形在弹出的对话框中修改属性。试过OK就说明已经成功了建立了带属性的块图形了,用同样的方法可以建立自己的标题栏、明细栏、齿轮表等带参数的块图形。 AUTO CAD绘图模板基本设置 July 24th, 2008 Alex Leave a comment Go to comments AUTO CAD是一款经久不衰的二维绘图软件,虽然在现在这个流行三维设计的时代,但是CAD平面设计在机械、服装、建筑等行业都有着不可以替代的地位。 为了更有效率的标准化使用CAD软件,使用前的对绘图环境的设置是一件非常重要的事情。环境的设置主要是牵涉到一下几方面内容:

创建属性块和动态块

第5章创建属性块和动态块 5.1任务18创建属性块 在绘图过程中,图块应用非常广泛,如图形中有大量相同的内容,或者所绘制的图形与已有的图形文件相似,可以把重复绘制的图形创建成块在需要时插入,掌握好图块的应用可大大提高设计和绘图效率。 5.1.1简单点评 在AutoCAD中可以创建块,块是AutoCAD中设计的主要内容,如果图形中有大量相同的内容,或者所绘制的图形与已有的图形文件相似,则可以把重复绘制的图形创建成块,在需要时插入,从而避免了重复性劳动,提高了设计和绘图效率,本节将对块的相关内容进行详细介绍。5.1.2核心知识 块可以是绘制在几个图层上的不同颜色、线型和线宽等特性的对象的组合。尽管块总是在当前图层上,但块参照保存了

有关包含在该块中的对象的原图层、颜色和线型特性的信息。可以控制块中的对象是保留其原特性还是继承当前的图层、颜色、线型或线宽设置。图块常用于绘制复杂的图形,一旦创建了图块,就可以根据需要将图块插入到图形的任何位置。 1.创建块 每个块都包含一个名称、一个或多个对象,用于插入块的基点坐标值和所有相关的属性数据。在图形中创建块后,可以在图形中多重插入块参照。在菜单浏览器中,执行“绘图>块>创建”菜单命令,将弹出“块定义”对话框,如图5-1所示。 图5-1“块定义”对话框 2.写块 可以创建用作块的单独图形文件,可以创建图形文件,用于作为块插入到其他图形中,作为块定义源,单个图形文件容易创建和管理。符号集可作为单独的图形文件存储并编组到文件夹中。写块的方法与创建块的方法相似,在命令行中,输入wblock,将弹出“写块”对话框,如图5-2所示。 图5-2 “写块”对话框 3. 定义属性块 在块中创建存储数据的属性定义,属性定义可以是所创建的包含在块定义中的对象,属性可以存储数据,比如部件号、产品号等。在功能区中的“块和参照”选项卡下的“属性”面板上单击“定义属性”按钮,将弹出“属性定义”对话框,如

相关文档
最新文档