飞诗1.5(CAD)很好用的外挂工具,完全免费

FSTL

飞诗1.5(CAD)很好用的外挂工具,完全免费,内含比较多的其他工具,可以自己添加其他的。可以自己设置快捷键。

发表在 CAD实用软件 | 一条评论

excel2cad-Excel表格转AutoCAD工具 1.1 绿色版 不需安装

excel2cad v1.1

Excel2CAD V1.1 绿色版
Excel表格转AutoCAD工具-excel转cad
1.支持win7,excel2003/2007,AutoCAD2004-2007 测试通过!
2.免费使用,欢迎传播!
3.需要使用CAD更高版本,请联系我。
4.有什么bug,或者好的创意通知我^-^
5.比v1.0版增加 文字上下标,粗体、斜体、下划线功能
6.V1.1专业版转换速度快,编码先进,编辑性更强!
Excel2CAD使用方法:
(1) 启动Excel、AutoCAD,打开表格(*.xls)和图形文件(*.dwg或者*.dxf)。
(2) 在Excel中选定表格中要绘制的部分。
(3) 按下本软件的“开始”按钮,然后点击AutoCAD中指定插入点。

发表在 CAD实用软件 | 留下评论

斜钢梯生成器ver11.4

斜钢梯生成器ver11.4

发表在 CAD实用软件 | 留下评论

ACAD机械设计包

机械设计课程设计是机械设计教学的一个重要环节。这一环节主要是在学习机械设计课程后训练学生应用学习过的相关知识进行机械产品的设计,是一次较全面的机械设计能力训练。由于传统的教学模式的束缚,现在许多高校的机械设计课程设计仍然是在图板上完成的,学生在规定学时内,大量时间主要用于手工绘图,而且绘图过程中有大量的重复性的劳动,手工绘图效率也很低,这就需要一个可以辅助学生在设计过程中绘制其构思的零件结构设计的工具。该工具可以帮助学生绘制其构思的结构,而且方便修改、重绘图型、效率高,使学生能有更多的时间从事机械设计的结构设计及构思,真正深入学习及应用机械设计知识。另外,由于CAD技术的迅速发展,现在基本覆盖了包括机械、电子、建筑等大部分工程领域,而我国的CAD技术人才却非常缺乏,不能顺应CAD技术的发展,这就要求高等院校能培养更多的掌握CAD技术的人才。机械设计课程设计阶段是一个很好的理论与实践相结合的阶段,将课程设计与CAD技术结合起来,不但可以使学生能深入掌握机械设计知识,而且还可以在课程设计过程中掌握相关的CAD技术。所以这就要求课程设计辅助工具不但具有辅助教学的功能,而且还应结合CAD技术,能让学生使用它进行机械零件的计算机辅助设计,使学生既能增强其机械设计知识的综合训练,而且还能掌握CAD相关知识与技术。

一、本软件的目的及总体要求

本软件平台的目的就是使学生在机械设计课程设计中,花费较少的时间在绘图的重复劳动中,用更多的时间从事零件的结构设计及设计思维,培养学生机械设计等方面的综合能力,而且还使学生更系统地学习CAD知识,熟悉有关CAD软件。
为了达到上述目的,要求其首先应具有一个良好的用户界面,方便用户操作。其次,系统应具有良好的容错性,软件应该在出现错误操作或设计不合理时,避免因错误或不合理而无法进展设计工作。再者,软件的具体内容应该与机械设计课程学习保持一致性。另外,软件应该具有良好的可扩充性,以适应今后教学的发展。

二、系统的硬件及软件运行环境

本软件的软硬件运行环境如下:
● 计算机机型:IBM PC系列计算机;
● CPU类型:486/66以上,建议CPU为P586/133或更高;
● 内存RAM:16MB或更高;
● 硬盘容量:540MB或以上;
● 显示卡:SVGA,显存1MB或以上;
● 分辨率:640×480或以上;
● 中文Windows95/98,AutoCAD R13 For Windows+中文之星For AutoCAD,或者AutoCAD R14。

轴套设计及绘制

轴套设计是齿轮箱装配图的一个重要结构,是调节各零件装配关系的重要零件,在本软件中,我们构造了绘制轴套装配图的模块,可以用来绘制一般\轴套的装配图。
绘制轴套的操作步骤如下:

1、首先从“机械零件设计”菜单的“装配图设计及绘制”子菜单中选择“轴套设计绘制”命令,系统将弹出如图14.1所示的对话框。

[图14.1  轴系零件的轴套设计绘图对话框]

用户在该对话框中可以分别选择轴套类型、装配方向,并输入轴套的结构参数。
2、选择轴套类型
单击“轴套类型选择”按钮,系统将弹出如图14.2所示的对话框,在该对话框中,系统提供了两种轴套类型,选择了轴套类型后,单击“OK”按钮,返回主对话框。

[图14.2  “轴套种类”选择对话框]

3、装配方向选择
单击“装配方向选择”按钮,系统将弹出如图14.3所示的对话框,在该对话框中,用户可以选择适合系统装配图的装配方向。选择了一个装配方向后,单击“OK”按钮,返回主对话框。

[图14.3  “装配方向”选择对话框]

4、参数输入
选择了轴套结构及装配方向后,用户就应该选择或输入轴套的结构参数,最后单击“OK”按钮,绘制用户所选择的轴套。

标准连接件是装配图绘制中出现最频繁的标准件,其包括螺栓、螺母、螺柱、螺钉等。对这些标准件进行参数化,可以大大减少不必要的重复绘图劳动。根据装配图中这些零件的画法,对它们进行参数化,对每个可选的标准件,输入其设定的结构参数,就可以绘制出其装配图形。
标准连接件的选择绘制操作过程如下:
1、首先从“机械零件设计”菜单的“装配图设计及绘制”子菜单中选择“基本连接件绘制”命令,系统将弹出如图15.1所示的对话框。

[图15.1  基本连接件对话框]

2、用户进入主对话框后,先应该选择连接件的种类,系统提供给用户选择的连接件种类有:“螺栓”、“螺钉”、“双头螺柱”、“紧定螺钉和销”等。
(1) 螺栓选择
单击“螺栓”按钮,系统将弹出如图15.2所示的对话框,在该对话框中,列出了GB5782-86中的螺栓种类,用户可以选择自己所需要绘制的螺栓结构,并分别选择螺栓种类及尺寸参数,然后单击“OK”按钮,回到主对话框,进行其他参数输入或选择。

[图15.2  “螺栓种类”选择对话框]

(2) 螺钉选择
单击“螺钉”按钮,系统将弹出如图15.3所示的对话框,在该对话框,列出了螺钉的种类及参数,用户可以根据需要选择适合于自己的设计的螺钉种类及参数,然后单击“OK”按钮,返回主对话框,进行其他参数的输入或选择。

[图15.3  “螺钉种类”选择对话框]

(3) 双头螺柱选择
单击“双头螺柱” 按钮,系统将弹出如图15.4所示的对话框,在该对话框,列出了各种双头螺柱的种类及参数,包括GB897-87、GB898-87、GB899-87和GB900-87
国标中螺柱种类,用户可以根据需要选择适合于自己的设计的螺柱种类及参数,然后单击“OK”按钮,返回主对话框,进行其他参数的输入或选择。

[图15.4  “双头螺柱种类”选择对话框]

(4) 紧定螺钉和销
单击“紧定螺钉和销” 按钮,系统将弹出如图15.5所示的对话框,在该对话框,列出了各种紧定螺钉和销的种类及参数,用户可以根据需要选择适合于自己的设计的紧定螺钉和销种类及参数,然后单击“OK”按钮,返回主对话框,进行其他参数的输入或选择。

[图15.5  “紧定螺钉和销种类”选择对话框]

选择了连接件种类后,用户可以进行其他参数的输入、主侧视图的选择、垫圈等附件的选择等操作,用户可以根据结构设计的需要进行相关的选择及参数的输入。
3、输入参数后,最后用户可以单击“OK”按钮进行连接件的绘制。

轴系零件紧固件选择及绘制

标准紧固件是装配图绘制中出现频繁的标准件,其中包括圆螺母、止动垫圈、轴端挡圈、孔用弹性挡圈及轴用弹性挡圈等。对这些标准件进行参数化,同样可以大大减少不必要的重复绘图劳动。根据装配图中这些零件的画法,对它们进行参数化,对每个可选的标准件,输入其设定的结构参数,就可以绘制出其装配图形。
如果用户需要绘制紧固件,则可以按如下步骤进行操作:
1、首先从“机械零件设计”菜单的“装配图设计及绘制”子菜单中选择“轴系零件紧固件设计绘图”命令,系统将弹出如图16.1所示的对话框。

[图16.1  轴系零件紧固件设计绘图对话框]

在该对话框中,用户可以进行“挡圈类型”选择和“圆螺母类型”选择,分别单击相应按钮即可。
2、单击“挡圈类型选择”按钮,系统将弹出如图16.2所示的“轴用及孔用挡圈选择”对话框,在该对话框,用户可以选取自己所需要绘制的挡圈类型,选择了挡圈类型后,单击“OK”按钮,系统返回主对话框。

[图16.1  “轴用及孔用挡圈选择”对话框]

3、单击“圆螺母类型”按钮,系统将弹出如图16.3所示的“圆螺母种类选择”对话框,在该对话框,有两种可供选择的圆螺母类型,用户选择了一种圆螺母后,单击“OK”按钮返回主对话框。

[图16.1  “圆螺母种类选择”对话框]

4、单击“装配方向选择”按钮后,系统将弹出如图16.4所示的对话框,在该对话框中用户可以选择圆螺母的装配方向。

[图16.1  “装配方向选择”对话框]

5、选择了装配方向后,单击“OK”按钮,返回主对话框,然后用户可以根据紧固件的参数化情况,输入需要的参数包括“公称直径”以及其他各种参数,输入参数后。单击“OK”按钮,进行紧固件图形的绘制。
如果用户已经绘制了某一个紧固件后,还可以单击“取消上一步操作”按钮,将上一步绘制的紧固件删除。

1、将下载下来的atuoCAD机械设计包解压到atuoCAD2006/2007的安装目录下。
2、进入atuoCAD——》工具——》选项——》文件——》在支持文件搜索路径中添加   atuoCAD机械设计包的路径。
3、进入工具——》自定义——》界面——》传输,在传输界面的左边栏的顶部选择框中选择 主CUI文件(acad.cui);在传输界面的右边栏的顶部选择框中选择打开机械设计包,选择里面的:机械设计包.cui文件,展开菜单项,可以看到机械零件设计位于其下面。
4、将左右两边栏中的菜单项都展开,然后将右边栏中的机械零件设计拖到左边栏中的菜单项的尾部,并且点击左边栏上部的保存按钮。点击应用,确定!
5、在命令行中输入“menu”选择Support下的acad.CUI 文件打开,就会看到机械零件设计菜单挂上了!
发表在 CAD实用软件 | 留下评论

中小型网站做SEO优化切忌慎用二级域名

网站优化,是站长讨论最热门的一个词汇,好的优化,对网站取得好的排名有画龙点睛的作用,但是任何事物都有它的两面性,操作不当的话,就会起到反面作用..接下来我们就来讲讲如何避免优化过程中出现错误的操作,听好多资深站长说过,大站优化可以策划分好多二级站,中小站优化应尽量少用或不用二级米,因为中小站权重本来就底,如果做好多二级站的话,权重就会分散,所以中小站就比较适合优化目录了。
  08年开始接触网站制作,到目前为止,做过的站也有20-30个了,之前就是因为吃过二级站的亏,所以现在做站一般不采用二级站,其实优化好目录跟采用二级是一样的,我们做站的,可以看看同行有很多的栏目排名也是很不错的,我之前就有一个站,本来排名挺好的,但是后来想着让网站内容更全面点,当时就考虑了是给网站再增加一个栏目呢还是用二级米做一个新站呢,经过了再三的考虑最后还是决定选取二级别米了,为什么选取二级米而不用栏目呢,当时心动也是因为看到同行有一个站二级别做的非常及至,就想着自己那样做是不是也可以,于是就决定了做个二级站,这也是噩梦的开始…
  刚开始,排名还挺稳定,我也没注意啥,还是每天坚持更新,发外连,可是一个星期后,排名有点不正常了,开始有波动了,一直在变化,搞的我心里也挺忐忑的.这样来来回回持续了半个月,半个月后的一次更新,我彻底崩溃了,本来排名好好的站点,现在各关键词在百度和其它搜索引擎200页找不到了,这让我一时摸不到头脑了,是不是我那里工作没做好,于是开始分析原因了。
  刚开始以为是友情连接出了问题,可是查了下友连挺好的,也没见那个站长去我连接,于是我想到了是不是二级米搞的怪,当时也不清楚是不是二级米的原因,但是想着站点也没有其他变动本来好好的排名怎么就突然说没就没有了呢.于是我就把二级站关掉了,刚开始几天,也没啥变化,我就想着会不会需要些时间,于是,啥也没想,每天坚持着以往所做的工作.一个星期过去了,一个月过去了排名还是没有.让我很是郁闷.又过了一个星期,排名突然排到了第一页最后一位,这让我心中怯喜,手中的工作不敢怠慢,每天继续坚持原创更新,并勤快的发外连,终于在大更新的时候恢复了原来的排名。
  在这里说明一点,这只是我个人的一个经历,并不能说明说有站都不适合做二级,我当初考虑做个二级站不也是看到同行一个站的二级站排名挺好的么,但是也就只有这一个站的二级站排名好,而不是很多站,所以在这里提醒下广大站长在做二级站的时候切要慎重考虑,不是说二级站就不能成功,只是中小站点二级站成功的不多,我们要考虑到这一点,大家可以多加一些站长群讨论讨论。

像我的站点,图纸比较图纸外发两个独立的模块就只是做了两个二级目录,而没有使用两个新的二级域名,因为自己的时间和精力更多的都是在做软件的,做网站的时间有限,太多域名分摊下来百度会认为你的站点更不行。

发表在 网站建设 | 留下评论

cad好帮手销售出去第一套

cad好帮手销售出去第一套了,加上前面免费赠送的注册码,说明还是有一定的客户群的,谢谢大家的支持,我一定会更加努力,让软件功能更好,更强大,让大家绘图更省心。

发表在 CAD好帮手教程 | 一条评论

机械CAD论坛账号分享

机械CAD论坛

每年9月初10月底一天开放注册

很多人没有赶上

一号难求

将自己的账号公布出来

请大家合理使用

用户名:cadgjcom

密码:cadgjcom808

千万不要修改密码啊。

发表在 CAD技巧 | 标签为 | 20条评论

PKPM、理正、天正、结构钢筋万字库

双击这个软件安装”结构钢筋万字库”
你就可以打开你用PKPM、理正、天正画结构钢筋字体的图;
PKPM、理正、天正、结构钢筋万字库

CAD万能字体最新可以解决PKPM.理正

发表在 CAD实用软件 | 标签为 | 留下评论

cad2008 cad2014去教育版cad补丁,好用的话,常来看看,有惊喜!

cad2008 cad2014去教育版cad补丁,一个补丁对应一个版本,不要混淆了,压缩包里有使用方法cad2008 endu remove

2014endu remove

发表在 CAD实用软件 | 2条评论

网站备案成功

星期天去检验点拍了个照片,扫描了一下身份证

速度挺快的

今天周二下午就收到了备案通过的通知

备案号:沪ICP备1400101

挺好的,有了备案就可以换成国内的服务器了

速度快了很多,一些朋友反映基本都是秒开

网站大小增加了很多

而且月流量限制提升到了30G

不会不够用了

小小开心一把

数据迁移也好了,一切OK

小小的开心了一把。

发表在 网站建设 | 标签为 | 留下评论

枚举所有的实体类型

//枚举所有的实体类型
void ListEntClass()
{
AcRxDictionaryIterator* pIter=acrxClassDictionary->newIterator(AcRx::kDictCollated);
std::auto_ptr<AcRxDictionaryIterator> spIter(pIter);
for (;!spIter->done();spIter->next())
{
AcRxObject* pObj=spIter->object();
if(!pObj->isKindOf(AcRxClass::desc()))
{
continue;
}
AcRxClass* pClass=AcRxClass::cast(pObj);
if(!pClass->isDerivedFrom(AcDbEntity::desc()))
{
continue;
}
acutPrintf(_T(“\nname=%s,dxfName=%s”),pClass->name(),pClass->dxfName());
}
}

发表在 ObjectArx | 留下评论

DXF组码说明

组码 说明
-5 APP:persistent reactor
链表
-4 APP:条件运算符(仅用于 ssget)
-3 APP:扩展数据 (XDATA)
标记(固定)
-2 APP:图元名引用 (固定)
-1 APP:图元名。每次打开图形时它都改变,且不被保存。(固定)
0 表示图元类型的文字字符串(固定)
1 图元的主要文字值
2 名称(属性标记、块名称等)
39145 其他的文字值或名称值
5 图元句柄。最多 16 位十六进制数字的文字字符串(固定)
6 线型名(固定)
7 文字样式名(固定)
8 图层名(固定)
9 DXF:变量名标识符(仅用于
DXF 文件的 HEADER 区域)。
10 主要点。此点为直线或文字图元的起点,圆的圆心等等。
DXF:主要点的 X 值(其后为 Y 和 Z 值的组码 20 和 30) APP:三维点(三个实数构成的表)
39404 其他点。
DXF:其他点的 X 值(其后为 Y 和 Z 值的组码 21-28 和 31-38) APP:三维点(三个实数构成的表)
20, 30 DXF:主要点的 Y 和
Z 值
21-28, 31-37 DXF:其他点的 Y 和
Z 值
38 DXF:如果非零,则为图元的标高
39 如果非零,则为图元的厚度(固定)
40-48 浮点值(文字高度、比例因子等)
48 线型比例。浮点标量值。缺省值适用于所有图元类型。
49 可重复的浮点值。一个图元中的可变长度表(例如 LTYPE 表中的虚线长度)中可出现多个组码
49。组码 7x 总是在第一个组码 49 前出现,用于指定表的长度。
50-58 角度(在 DXF 文件中单位为度,在 AutoLISP 和 ARX 应用程序中单位为弧度)。
60 表示图元可见性的整数值。不赋值或值为 0 时表示可见;为 1 时表示不可见。
62 颜色代码(固定)
66 “图元跟随”标志(固定)
67 空间,即模型空间或图纸空间(固定)
68 APP:表示视口打开但不可见、未激活或者关闭。
69 APP:视口标识数字。
70-78 整数值,如重复部分的计数器、标志位或模式等。
90-99 32 位整数值
100 子类数据标记(把继承下来的类名当作字符串)。由具体类继承下来的所有对象和图元类都必须有此项。此标记用于分离某个对象中由不同的类定义的数据。它也满足从
ARX 继承下来的每个独立的具体类的 DXF 命名需要(请参见子类标记)。
102 控制字符串,其后为“{<任意名称>”或
“}”。除了字符串必须以 “{” 开始外,它与外部数据组码
1002 类似。其后可跟任意字符串,且此字符串的解释取决于应用程序。另一个可用的控制字符串为
“}”,它标识组的结束。如上所述,除了在执行图形核查操作期间外 AutoCAD
一般不解释这些字符串;它们仅用于应用程序。
105 DIMVAR 符号表条目对象句柄。
210 拉伸方向(固定)。
DXF:拉伸方向的 X 值 APP:三维拉伸方向矢量
220, 230 DXF:拉伸方向的 Y 和
Z 值
280-289 8 位整数值
290-299 布尔标志值
300-309 任意的文字字符串
310-319 任意二进制数据组,与组码 1004 具有相同表示法和限制:最长为 254 个字符的十六进制字符串表示最长为
127 个字节的数据数据组。
320-329 任意对象句柄。句柄值保留原样,在执行 INSERT 和 XREF 操作时它们不被转化。
330-339 软键指针句柄。任意指向同一 DXF 文件或图形中的其他对象的软键指针,在执行 INSERT
和 XREF 操作时被转化。
340-349 硬键指针句柄。任意指向同一 DXF 文件或图形中的其他对象的硬键指针,在执行 INSERT
和 XREF 操作时被转化。
350-359 软键从属句柄。链接到同一 DXF 文件或图形中其他对象的任意软键从属链接,在执行 INSERT
和 XREF 操作时被转化。
360-369 硬键从属句柄。链接到同一 DXF 文件或图形中其他对象的任意硬键从属链接,在执行 INSERT
和 XREF 操作时被转化。
370-379 线宽枚举值 (AcDb::LineWeight)。作为短整数保存并移动。自定义非图元对象可使用全部范围组码,但图元类只能在其描述中使用371-379的DXF 组码,因为AutoCAD和AutoLISP都总是采用370组码作为图元的线宽。在这里370组码就象其它的“公用”图元字段一样。
380-389 打印样式名类型枚举(AcDb::PlotStyleNameType)。作为短整数保存并移动。自定义非图元对象可使用全部范围组码,但图元类只能在其描述中使用381-389的DXF组码,其原因与上面的线宽范围相同。
390-399 描述打印样式名对象的句柄值,本质上是硬指针,但它有一不同的范围以使向后兼容能容易地处理。作对象的ID(在DXF文件中为句柄)和在AutoLISP 中为特殊的类型保存并移动。自定义非图元对象可使用全部范围组码,但图元类只能在其描述中使用391-399的DXF组码,其原因与上面的线宽范围相同。
400-409 16位整数
410-419 字符串
999 DXF:999 组码表示其后为注释字符串行。DXFOUT
不在 DXF 输出文件中包括此组;DXFIN 能识别词组码,但忽略其后的注释。通过 999
组码,用户可以在所编辑的 DXF 文件中包括注释。
1000 扩展数据中的 ASCII 字符串(最长 255 个字节)。
1001 扩展数据的已注册应用程序名(ASCII 字符串,最长 31 个字节)。
1002 扩展数据控制字符串(”{” 或 “}”)。
1003 扩展数据图层名。
1004 扩展数据中的字节数据组(最长 127 字节)。
1005 扩展数据中的图元句柄。文字字符串,最多 16 位十六进制数字。
1010 扩展数据中的点
DXF:X 值(其后跟组码 1020 和 1030) APP:三维点
1020, 1030 DXF:点的 Y 和
Z 值
1011 扩展数据中的三维世界空间位置

DXF:X 值(其后跟组码 1021 和 1031):三维点
1021, 1031 DXF:世界空间位置的 Y 和
Z 值。
1012 扩展数据中的三维世界空间位移

DXF:X 值(其后跟组码 1022 和 1032):三维矢量
1022, 1032 DXF:世界空间位移的 Y 和
Z 值
1013 扩展数据中的三维世界空间方向
DXF:X 值(其后跟组码 1022 和 1032) APP:三维矢量
1023, 1033 DXF:世界空间方向的 Y 和
Z 值
1040 扩展数据浮点值。
1041 扩展数据距离值。
1042 扩展数据比例因子。
1070 扩展数据 16 位符号整数。
1071 扩展数据 32 位符号整数。

发表在 ObjectArx | 标签为 | 留下评论

直接修改对象的DXF组码对应的值

ads_name e1, e2;
struct resbuf *ed, *cb;

if (acdbEntNext(NULL, e1) != RTNORM) {
acutPrintf(“\nNo entities found. Empty drawing.”);
return BAD;
}

acdbEntNext(e1, e2);

if ((ed = acdbEntGet(e2)) != NULL) {
for (cb = ed; cb != NULL; cb = cb->rbnext)

if (cb->restype == 10) { // Start point DXF code
cb->resval.rpoint[X] = 1.0;// Change coordinates.
cb->resval.rpoint[Y] = 2.0;

if (acdbEntMod(ed) != RTNORM) { // Move vertex.
acutPrintf(“\nBad vertex modification.”);
acutRelRb(ed);
return BAD;
} else {
acdbEntUpd(e1); // Regen the polyline.
acutRelRb(ed);
return GOOD; // Indicate success.
}
}
acutRelRb(ed);
}
return BAD; // Indicate failure.

发表在 ObjectArx | 标签为 , | 留下评论

Windows资源文件的读取

 Windows资源文件的读取

《把脉VC++》第6章使用文件存取对象,本章讨论常见的文本文件、二进制文件的存取格式,除了properties文件格式、INI文件格式、CSV文件格式等文本文件格式外,最后重点讨论作为数据交换的一种通用格式XML及对其的操作方式,包括MsXML和ADO.NET存取方式。本节为大家介绍Windows资源文件的读取。

 

6.3.5  Windows资源文件的读取

Windows资源是一种特殊的存储形式,它通常存在于EXE和DLL模块中,Windows程序常常使用资源来存储程序需要的图标、工具栏等信息。但我们也可以在某些合适的场合考虑采用资源文件来作为反持久化的介质。

“合适的场合”,该如何理解?注意到当前运行的程序其资源文件在运行时期是只读的,所以说资源文件不适合那些需要动态更新的信息,它必须是在设计阶段就能确定的信息。举个例子,一些下拉框的信息可能来自于某些字典表,而这些字典项的内容在程序的运行期间是不变的(比如,性别包含两项:男、女),这个时候我们可以考虑采用资源文件。另外一种场合,如果在程序中创建一个Word文件,可能需要一个Word模板,或者说我们的Access数据库可能需要一个空白的模板,而我们又不希望在程序发布时多带一个文件,那么这个时候,就需要使用资源文件了。

资源就存在当前正在运行的程序中,我们让这个程序读取自己的资源,这犹如一个高明的医生给自己做腹腔手术。Windows提供的API函数如表6-12所示。

资源
函数 含义
LoadAccelerators 加载快捷键资源
LoadBitmap 加载位图资源
LoadCursor 加载光标资源
LoadIcon 加载图标资源
LoadMenu 加载菜单资源
LoadString 加载字符串资源

这里面仅仅列出常见类型(快捷键、位图、光标、图标、菜单、字符串)的资源的加载。表6-13列出的是加载所有类型的资源的函数。

资源
函数 含义
FindResource 从指定模块中加载指定名称、类型的资源
SizeofResource 获取资源数据的长度
LoadResource 加载指定的资源至内存
LockResource 锁定指定的资源,并返回指向资源数据的指针
FreeResource 释放指定的资源

我们通常加载某个资源的步骤如下所示:

使用LoadLibrary()加载模块,或者获取当前应用程序的模块。

调用FindResource()从指定模块中查找指定的资源,返回该资源的句柄。

调用SizeofResource ()获取资源数据的长度。

调用LoadResource()将资源加载至内存。

调用LockResource()锁定资源,并返回指向资源数据的指针。

通过数据指针操作数据。

使用完毕,调用FreeResource()释放指定的资源。

现在动手

如下例程序演示了如何在当前程序中添加一个Word资源,并在运行时读取它,请读者仔细体验。

选择【Win32】→【Win32项目】→【控制台程序】命令,创建ResLoader。

打开资源视图,导入一个Word文档,资源类型定义为”WORD”,资源名为IDR_WORD1,如图6-22所示。

C++资源文件
【程序 6-6】从资源中加载自定义数据编写主程序如下:

#include “stdafx.h”
#include “ResLoader.h”

CWinApp theApp;
int _tmain()
{
int nRetCode = 0;
if (!AfxWinInit(::GetModuleHandle(NULL),NULL, ::GetCommandLine(), 0))
{
_tprintf(_T(“错误: MFC 初始化失败\n”));
nRetCode = 1;
}
else
{
HRSRC hRes = FindResource(theApp.m_hInstance, MAKEINTRESOURCE(IDR_WORD1), _T(“WORD”));
//获取长度
DWORD len = SizeofResource(theApp.m_hInstance, hRes);
HGLOBAL hg = LoadResource(theApp.m_hInstance, hRes);
LPVOID lp = (LPSTR)LockResource(hg);
//将资源中的内容保存至某个Word文件中
CFile file;
file.Open(_T(“out.doc”), CFile::modeWrite | CFile::modeCreate);
char * cp = (char *)lp;
for(int i = 0; i < len; i++)
{
file.Write(cp++, 1);
}
CString filePath = file.GetFilePath();
file.Close();
//打开该文件
ShellExecute(NULL, _T(“open”), filePath, NULL, NULL, SW_SHOW);
FreeResource(hg);
}
return nRetCode;
}

发表在 C++ | 标签为 , | 留下评论

非常好用的FTP上传工具CuteFTP5.0.2绿色破解版

非常好用的FTP上传工具CuteFTP5.0.2绿色破解版

不需要安装

不需要注册

绿色版,打开输入FTP服务器参数就可以使用

赞一个

http://yun.baidu.com/share/link?shareid=3858843442&uk=721859502

发表在 实用软件 | 标签为 , , , | 留下评论

进度条管理类

//AcProgressBar.h

/************************************************************************
*说明:定义和实现一个与AutoCAD状态栏上显示进度栏的类
*
*
*
*

************************************************************************/

#pragma once

class AcProgressBar
{
public:
AcProgressBar();
~AcProgressBar();
//创建
BOOL Create(CString strHint , int nMaxPos , int nMinPos = 0);
//设置当前位置
BOOL setCutPos(CString strHint , int nPos);
BOOL setCutPos(int nPos);
//移动
BOOL stepIt(int nStep=1){return setCutPos(m_nCurPos+nStep);}
//重置
void Restore();
//获取当前位置
int getCurPos(){return m_nCurPos;}
BOOL IsCreate(){return m_bCreate;}

private:
BOOL m_bCreate;
int m_nMinPos;
int m_nMaxPos;
int m_nCurPos;
};

//AcProgressBar.cpp

#include “StdAfx.h”
#include “AcProgressBar.h”

AcProgressBar::AcProgressBar()
{
m_bCreate = FALSE;
m_nMaxPos = m_nMinPos = m_nCurPos = 0;
}

AcProgressBar::~AcProgressBar()
{
this->Restore();
}

BOOL AcProgressBar::Create(CString strHint , int nMaxPos , int nMinPos /* = 0 */)
{
if ((nMaxPos <= 0) || (nMaxPos <= nMinPos))
return FALSE;

if(acedSetStatusBarProgressMeter(strHint , 0 , 100) != 0)
return FALSE;

m_bCreate = TRUE;
m_nMaxPos = nMaxPos;
m_nMinPos = nMinPos;

return TRUE;
}

void AcProgressBar::Restore()
{
if(!m_bCreate)
return;

acedRestoreStatusBar();
m_bCreate = FALSE;
m_nMaxPos = m_nMinPos = m_nCurPos = 0;
}

BOOL AcProgressBar::setCutPos(int nPos)
{
if(!m_bCreate)
return FALSE;

if(nPos > m_nMaxPos)
nPos = m_nMaxPos;

// 换算成0~100之间的值
nPos = double(nPos)/(m_nMaxPos-m_nMinPos)*100;

if (m_nCurPos == nPos)
return TRUE;
else
m_nCurPos = nPos;

if(acedSetStatusBarProgressMeterPos(nPos) != 0)
return FALSE;

return TRUE;
}

BOOL AcProgressBar::setCutPos(CString strHint , int nPos)
{
if(!m_bCreate)
return FALSE;

if(m_bCreate)
{
m_bCreate = FALSE;
acedRestoreStatusBar();
}

if(acedSetStatusBarProgressMeter(strHint , m_nMinPos , m_nMaxPos) != 0)
return FALSE;

m_bCreate = TRUE;

if(nPos > m_nMaxPos)
nPos = m_nMaxPos;

// 换算成0~100之间的值
nPos = double(nPos)/(m_nMaxPos-m_nMinPos)*100;

if (m_nCurPos == nPos)
return TRUE;
else
m_nCurPos = nPos;

if(acedSetStatusBarProgressMeterPos(nPos) != 0)
return FALSE;

return TRUE;
}

发表在 ObjectArx | 标签为 , | 留下评论

C++ 判断主机是否处于联网状态下

直接让本机访问一个网站,如果成功的话,就说明成功联网,没有访问成功,则说明没有联网!!!

#include<iostream>
#include <WINSOCK2.H>
#pragma comment(lib,”ws2_32.lib”)
#define LEN 1024 //接收数据的大小
using namespace std;
int main()
{
 //加载套接字库
 WORD wVersionRequested;
 WSADATA wsaData;
 int err;
 
 wVersionRequested = MAKEWORD( 1, 1 );    //初始化Socket动态连接库,请求1.1版本的winsocket库
 
 err = WSAStartup( wVersionRequested, &wsaData );
 if ( err != 0 ) {
  return 0;
 }

 if ( LOBYTE( wsaData.wVersion ) != 1 ||   //判断请求的winsocket是不是1.1的版本
        HIBYTE( wsaData.wVersion ) != 1 ) {
  WSACleanup( );   //清盘
  return 0;     //终止对winsocket使用
 }
 //WSADATA ws;
 //WSAStartup(MAKEWORD(2,2),&ws);//
 char http[60] = “www.google.com“;   //访问谷歌网页
 SOCKET sock = socket(AF_INET,SOCK_STREAM,0);//建立socket
 if (sock == INVALID_SOCKET)
 {
  cout<<“建立访问socket套接字失败!”<<endl;
  return 0;
 }
 sockaddr_in hostadd;
 hostent* host = gethostbyname(http);//取得主机的IP地址
 if(host==NULL)
 {
  cout<<“主机处于没有联网状态;”<<endl;
  return 0;
 }
 cout<<“主机处于联网状态,现在可以进行通信!”<<endl;
 memcpy(&hostadd,host->h_addr,sizeof(hostadd));//将返回的IP信息Copy到地址结构
 hostadd.sin_family = AF_INET;
 hostadd.sin_port = htons(80);
 
 
 char buf[LEN]=”GET / HTTP/1.1\r\nHost: “;//构造Http请求数据包
 strcat(buf,inet_ntoa(hostadd.sin_addr));
 strcat(buf,” \r\nContent-Length: 10\r\n\r\n”);
 strcat(buf,”Connection:close”);
 
 
 int time = 1000; //超时时间
 setsockopt(sock,SOL_SOCKET,SO_RCVTIMEO,(char*)&time,sizeof(time));
 
 
 if (connect(sock,(sockaddr*)&hostadd,sizeof(hostadd)) == SOCKET_ERROR)//连接请求
 {
  cout<<“与网页建立连接失败!”<<endl;
  return 0;
 }
 if (SOCKET_ERROR == send(sock,buf,strlen(buf)+1,0))//发送构造好的Http请求包
 {
  cout<<“发送数据包失败!”<<endl;
  return 0;
 }
 memset(buf,0,LEN);
 recv(sock,buf,LEN,0);    //接收返回的数据
 cout<<“从网页中获取的数据为:”<<buf;
 closesocket(sock);
 WSACleanup();
return 0;
}

发表在 C++ | 标签为 | 留下评论

CAD布局怎么用?简单讲解CAD布局用法和基本操作

转载至CAD小苗新浪博客

无论是AutoCAD还是浩辰CAD,都提供了模型空间和布局空间,通常,我们会在模型空中进行大部分的画图和设计工作,可以绘制二维或三维图形。而布局空间通常用来排图打印,布局空间提供了一张虚拟的纸张,可以通过视口将模型空间按一定比例大小摆放到纸张上,当然也可以在布局空中绘图,例如进行标注、插入图框。一个布局空间通常只放置一个图框,就相当于一张图纸,但图框中可以放置多个视口,这些视口可以大小不同、形状不同、比例不同,这些都取决于出图的需要,视口内显示的是模型空间绘制图形的全部或一部分。布局处于图纸空间时,可以绘制三维模型,但无法调整视图方向,当进入视口,也就是进入模型空间后,操作和模型空间完全相同,只是图形被视口边界进行了裁剪。

用更容易理解的话来说,图纸空间可以理解为覆盖在模型空间上的一层不透明的纸,需要从图纸空间看模型空间的内容,必须进行开“视口”操作,也就是“开窗”。
    图纸空间是一个二维空间,也就是在图纸空间绘制的对象虽然也有Z坐标,但是三维操作的一些相关命令在图纸空间不能使用,导致他所显示的特性跟二维空间相似。CAD还提供了三维转二维的命令:轮廓/视图/图形(Solprof/Soldview/Soldraw),可以在布局空间中利用视口及相关视图将三维模型转换为二维投影。图纸空间主要的作用是用来出图的,就是把我们在模型空间绘制的图,在图纸空间进行调整、排版,这个过程称为“布局”是非常恰当的。
   “视口”则是在图纸空间这张“纸”上开的一个口子,这个口子的大小、形状可以随意使用(详见视图菜单下的视口项)。在视口里面对模型空间的图形进行缩放(ZOOM)、平移(PAN)、改变坐标系(UCS)等的操作,可以理解为拿着这张开有窗口的“纸”放在眼前,然后离模型空间的对象远或者近(等效ZOOM)、左右移动(等效PAN)、旋转(等效UCS)等操作,更形象的说,就是这些操作是针对图纸空间这张“纸”的,这就可以理解为什么在图纸空间进行若干操作,但是对模型空间没有影响的原因。如果不再希望改变布局,就需要“锁定视口”。
       熟练的使用图纸空间,需要配合几个方面的设置,也可能要改变自己以前绘图以及出图的习惯,不过我认为用这些去换来轻松的操作,是完全值得的。首先对在模型空间绘图有以下几个说明或者要求,如果做不到这几条,图纸空间对你来说依然是混乱的。
       1、最好严格按照11的方式绘图,这样不仅作图时方便,以后修改也方便,重要的是在使用图纸空间出图时更加灵活方便。
       2、明确自己在模型空间绘图所使用的单位,比如用毫米为单位,那么1米就要用1000个CAD单位,用厘米为单位,那么1米就要用100个CAD单位,需要说明的是,在CAD中设定的所谓的“绘图单位”是没有意义的,绘图的单位应该是在使用者心中,这也是CAD灵活的一个方面,因为这样在CAD中绘制一条长度为1的线段,可以代表任何一个单位长度。

3、标准图框,每个工程在进行之前,就应该作一个标准图框供参与该项目的所有人员使用,以作到出图风格的一致。如我们需要一个A3图框,可在模型空间做好,并以毫米为单位。左下角的坐标为(0,0)为便于使用者插入图框,应单独存为一个DWG文件。
       4、打印比例,打印时其他的设置基本适合各自的习惯即可,现在唯一要求不同的是要求按1:1打印或者1:1.02(就是缩小至98%)打印,这样的好处很明显,我们不需要进行繁琐的比例换算工作,所有的比例问题在图纸空间和标注样式里面设置。最终同一个工作组的绘图风格基本一致。
       5、标注样式的设置
       打开“标注样式管理器”,在“样式”列表中列出当前文档中已经存在的标注样式,一般在作图中可能会用到1~2种样式,最好把名称改为自己常用的,比如“GZ40QH_120”表示国主40项目桥涵组比例尺为1:120。最好是在设置完一个标注样式以后再以此样式为基础样式新建其他的样式,按照这种方法,“GZ40QH_120”与“GZ40QH_250”两种标注样式只有一个参数不同,就是“调整”标签下的“使用全局比例”分别为12和25(前提是模型空间绘图单位为“cm”),设置非常简单。样式设置好了以后,还可以给你的同事共享,他们就不需要进行繁琐的设置工作了。
       我们对“GZ40QH_120”进行修改,首先对诸如箭头大小、超出尺寸线长度、文字高度等进行设置,原则是最终要打印成什么样子就设置成什么样子,比如最终打印出来箭头大小为2.0mm,文字高为3.0mm,超出尺寸线1.5mm,那么在设置这些值时就设置成前面的数值,先不管它的放大系数。然后切换到“调整”标签,选择“标注特征比例”框架下的“使用全局比例”,在其后的文本框内输入后面计算得到的全局比例(比如12或25)。这样设置完以后,确定回到标注样式管理器,将需要用的标注样式置为当前,这样在模型空间进行标注时,其大小就比较合适,在出图时也不会出现混乱的图幅了。这样设置一个明显的优点是在调整标注样式时,我们基本上可以不管出图比例是多少,直接将各项设置成最终出图的效果,需要针对不同出图比例调整的唯一一个参数就是全局比例。

6、在做完一副图的大致轮廓,也就是在没有进行大量的文字及尺寸标注之前就要按以下方法确定最终的出图比例,也就是需要确定全局比例、自定义比例系数、模型空间文字大小(同时可以确定多义线的宽度)。
    (1)图的大致轮廓绘制好了以后,切换到图纸空间(布局)。

(2)插入标准图框,使用MV(MVIEW)命令沿内边框开视口,如下图被选中的就是已创建的视口。

双击视口范围以内或用MS命令从图纸空间进入模型空间(请注意操作方法),使用缩放平移等手段使你需要打印的那部分显示在图框范围内(通常我们在绘图时就要考虑最终的出图比例,从而合理设置图中文字或设备图块的大小,否则最后可能出现打印出来文字过大或过小的情况)。

双击视口范围以外或用PS命令从模型空间退回图纸空间(也可以单击底部状态栏的模型/图纸切按钮)。先选择视口,如果直接选不中的话,如下图所示使用框选(从左往右框),如果视口和图框的内框线重合的话,可能会选中框线。

如果只选中了视口,属性框将如下图所示,如果框选了视口及其他对象,请在属性框顶部的下拉框中选中“视口”,显示视口属性。

这时我们可以查看并修改视口的特性了,主要就是用来设定出图的比例了,视口的比例也可以选中视口后在视口工具栏中修改。如图。

在视口的属性中我们需要关心的是两个地方,一个使“显示锁定”,一个是“自定义比例”。

“显示锁定”用来将最终设置好比例的视口锁定,就不会因误操作导致重复调整视口了。

如何知道自定义比例呢,通常不同的行业和不同的专业都有一些规范,例如建筑图纸通常是1:100比例,小区给排水会用1:200的比例,总之是1:1绘制的图形按照一定比例缩放后,可以正好放到图纸上,这个在绘图前就应该确定好比例,因此在设置视口后选择一个固定比例后,进入视口将图形平移到合适位置,必要的时候需要拖动视口的夹点(角点)来改变视口的大小,此处就不再详细介绍比例换算的方法了。如果在绘图的时候确定了出图比例,则在绘图是需要适当调整文字高度和设备图块的比例,例如出图比例为1:100,打印图纸要求文字高度为3mm,如果按1:1绘图,文字高度就应该设置成300,图块大小也要根据要求来设置插入时的比例。现在在CAD上有很多二次开发软件,例如浩辰建筑软件、浩辰机械软件,在绘图时可以设置好出图比例,软件将自动调整文字高度和图块插入比例。

至此,布局的基本操作已经完成,再介绍一些实用的技巧。

一、在同一张图纸上需要用到两种以上的比例出图.
       这个问题其实就是需要用到两套标注样式和两个视口,对应图形部分的文字高度需要分别设置,用于1:600的图形部分字高为180,标注样式用GZ40QH-600,用于1:120的图形部分字高为36,标注样式用GZ40QH-120。

说明性的文字直接写到图纸空间即可,字高也不用换算了。

二、如何不打印视口边界

如果一张图中有多个视口,打印时视口线也会打印出来,解决的办法是把这部分视口放置在“DefPoints”图层中,无论是在AutoCAD或浩辰CAD中,这个图层中的对象是不会被打印出来的。看下图,如果其他某个图层中的东西也不想打印出来,在图层管理器中点击对应图层后面的那个打印机,让他出现红“×”或斜杠,这个图层上的所有图形将不会打印出来。

三、虚线打印为实线

再有,有时在模型空间设置的线型为虚线,在图纸空间显示的却为实线,这是线形比例问题,首先你要从图纸空间进入模型空间,试试用“RE”命令刷新一下,如果还没有正常,就选择那条虚线(当然也可以是点画线),根据视口比例调整它的“线型比例”,有时一次调整不好,就需要多调整几次,达到要求为止。
如果“线型比例”过大过小在模型空间都会显示不出线型来,所以建议虚线要用一种或两种颜色来区分。

四、页面设置

当进入布局空间插入图框后会发现图框和布局空间中的图纸背景不匹配,这是需要启动打印,框选图框,选好打印机,设置好出图比例后点“应用到布局”,图纸背景才会跟图框匹配。如果每个布局都设置好了页面设置,可以利用“发布”功能进行批量打印,不过这要求一个布局里面只有一张图,并且这张图的打印设置已经设置完成。

如果这次的打印设置要与上次打印设置基本一样,直接选<上一次打印>即可完成大部分设置工作,你唯一要做的就是点击“窗口”选择打印范围,然后确定,最后预览一下,可以到所有工作完成以后,再打印出你的成果。
五、设置多边形和圆形视口

在有些图纸中需要创建不规则形状的视口,例如局部大样图,此时可以先用多段线(Pline)绘制好封闭的视口形状,然后运行新建视口:vports命令,选择选项:O(对象),选择绘制好的多段线,就可以创建不规则的视口。当然也可以利用新建视口的多边形(P)选项直接绘制多边形窗口。

至此,布局相关部分全部介绍完成,希望对你有所帮助!

发表在 CAD技巧 | 标签为 | 留下评论

为什么在CAD中用格式刷(特性匹配)无法匹配文字的字体和颜色?CAD中到底可以哪些特性可以匹配?

转载至CAD小苗新浪博客

格式刷在很多软件里都有,例如WORD\EXCEL,CAD中也有格式刷。但CAD中对象的类型比较多样,每种对象的特性各不相同,因此并不是所有特性都能进行匹配。这个大家应该能理解,但很多人不理解的是:同样是文字,为什么用格式刷就字体和颜色都不能匹配呢?我在百度贴吧和知道里已经看到不少人提这个问题了,要想了解这个问题,首先要了解特性匹配能匹配哪些特性,同时要了解文字有哪些特性。

一、特性匹配的基本概念和相关操作

特性匹配从字面上讲很简单,就是将选定对象的特性应用到其他对象

    命令 matchprop 或单击工具栏上的特性匹配按钮,就会出现下面的提示:

     选择源对象:                                选择要复制其特性的对象

选择目标对象或 [设置(S)]:               输入 s 或选择一个或多个要复制其特性的对象

1、目标对象

指定要将源对象的特性复制到其上的对象。可以继续选择目标对象或按 ENTER 键应用特性并结束该命令。

2、设置(S)

输入S,可以打开特性设置”对话框,从中可以选择要将哪些对象特性复制到目标对象。默认情况下,将选择“特性设置”对话框中的所有对象特性进行复制。选项通常有下面这些:

颜色

将目标对象的颜色更改为源对象的颜色。此选项适用于所有对象。

图层

将目标对象的图层更改为源对象的图层。此选项适用于所有对象。

线型

将目标对象的线型更改为源对象的线型。此选项适用于除属性、图案填充、多行文字、点和视口之外的所有对象。

线型比例

将目标对象的线型比例因子更改为源对象的线型比例因子。此选项适用于除属性、图案填充、多行文字、点和视口之外的所有对象。

线宽

将目标对象的线宽更改为源对象的线宽。此选项适用于所有对象。

厚度

将目标对象的厚度更改为源对象的厚度。此选项仅适用于圆弧、属性、圆、直线、点、二维多段线、面域、文字和宽线。

打印样式

将目标对象的打印样式更改为源对象的打印样式。如果正在使用颜色相关打印样式模式(系统变量 PSTYLEPOLICY 设置为 1),此选项将不可用。 适用于所有对象(应用抖动边修改器的对象除外)。

标注

除基本的对象特性之外,将目标对象的标注样式更改为源对象的标注样式。此选项仅适用于标注、引线和公差对象。

多段线

除基本的对象特性之外,将目标多段线的宽度和线型生成特性更改为源多段线的宽度和线型生成特性。源多段线的拟合/平滑特性和标高不会传递到目标多段线。如果源多段线具有不同的宽度,则其宽度特性不会传递到目标多段线。

材质

除基本的对象特性之外,将更改应用到对象的材质。如果没有为源对象而是为目标对象指定了材质,则将从目标对象中删除材质。

文字

除基本的对象特性之外,将目标对象的文字样式更改为源对象的文字样式。此选项仅适用于单行文字和多行文字对象。

视口

除对象的基本特性,还更改以下目标图纸空间视口的特性以匹配源视口的相应特性:开/关、显示锁定、标准或自定义比例、着色打印、捕捉、栅格以及 UCS 图标的可见性和位置。

剪裁设置和每个视口的 UCS 设置,图层的冻结/解冻状态不会传递到目标对象。

阴影显示

除基本的对象特性之外,将更改阴影显示。对象可以投射阴影、接收阴影、投射和接收阴影或者可以忽略阴影。

填充图案

除基本的对象特性之外,将目标对象的图案填充特性更改为源对象的图案填充特性。要与图案填充原点相匹配,请使用 HATCH 或 HATCHEDIT 命令中的“继承特性”。 此选项仅适用于填充对象。

除基本的对象特性之外,将目标对象的表样式更改为源对象的表样式。此选项仅适用于表对象。

 

二、为什么有时文字的字体和颜色无法匹配

进行特性匹配时,只能匹配目标对象和源对象之间的公共特性,例如源对象是文字,目标对象是填充,就只能匹配图层、颜色、线型、线宽这些通用的对象属性。而文字和文字之间显然可以匹配得更多,如文字样式、字体高度等等,但有时在使用格式刷的时候并不如愿,这是为什么呢?要知道原因,首先要对文字的特性有所了解。

首先,文字分单行文字和多行文字,多行文字具有很多单行文字所不具备的特性;其次,多行文字对象可以设置总体的颜色和文字样式,也可以为每行甚至每个文字设置字体、颜色,这些在多行文字编辑器内部设置的特征,是无法匹配的。

我们看一下单行文字和多行文字匹配的例子:

从上图看,上面ddd几个字,完全继承了单行文字的特性,cc两个字母继承了单行文字的高度,但没有继承多行文字的字体和颜色,字母E高度按比例发生了变化,字体和颜色也没变。为什么会这样呢?因为ddd三个字母使用了多行文字对象的文字样式和颜色设置,cc和E几个字母在多行文字编辑器里设置成了其他字体,并修改了颜色和高度。我们可用用LIST命令看一下多行文字的编码:

ddd\P{\fSimHei|b0|i0|c134|p2;\C1;cc\H0.4831x;E}

从编码可以看出ddd三个字母没有设置特殊格式,儿CCE三个字母设置了SimHei(黑体)的字体,到字母E,有设置了一个高度比例(我们在多行文字编辑器设置的是绝对高度,但实际编码记录的是相对整体高度的一个比例)。

通过上面这个例子应该可以理解为什么有时用格式刷后文字没有按预想的方式变化了,当你发现这种现象时,可以用LIST命令看一下文字的编码,或者直接双击多行文字查看文字的设置。

如果发现多行文字内部单独设置了颜色和字体,又希望用格式刷来改变他的特性怎么办?有两种方法:

一种双击进入多行文字编辑器,选中所有文字,然后右键,在菜单中选择“删除格式”(高版本提供了更多选项,例如文字格式、段落格式等),

第二种就是将多行文字炸开成单行文字(这种方式可以批量处理,但多行文字的一些段落或其他特殊设置就丢失了,而且不方便后续的编辑排版)。

目前还真没找到什么方法可以批量处理类似的文字,如果想后续可以方便使用格式刷来批量修改文字格式,最佳的的解决办法就是养成良好的习惯,多行文字内部不要再单独设置特殊的字体和颜色。当然有时图纸是别人画的,你就没法控制了。

 

除了文字之间特性匹配遇到的问题比较多,其他对象也有类似的问题。例如多段线,有的多段线设置的是全局宽度,有的每段宽度不同,全局宽度是可以匹配到宽度不同的多段线,但宽度不同的多段线的全局宽度为空,如果他作为源对象,匹配时是无法改变其他多段线的全局宽度的。

以上技巧适用于AUTOCAD及浩辰CAD等类似的软件。

发表在 CAD技巧 | 标签为 | 留下评论

CAD中一些容易混淆的概念:缩放(ZOOM和SCALE)、拉伸(Stretch和Extrude),各种线宽、比例等

转载至CAD小苗新浪博客

CAD中有些概念很相似,甚至有些功能翻译成中文是一样,比较容易混淆,下面简单把我想到的几个容易混淆的概念简单讲一下。

1、 缩放:ZOOM和SCALE

这两个功能虽然都翻译成缩放,但除了初学者容易混淆外,大部分用过一段CAD都应该能清楚。

Zoom(z):是视图缩放,在CAD中用来绘图和观察图形的是一个窗口,这就相当于一个相机的镜头,zoom就相当于镜头的拉近和拉远,虽然看到所有图形显示的大小变了,但图形的实际尺寸不会发生任何变化。

Scale(sc):这个是图形的缩放,他会直接改变图形的大小,而且只会改变被选中图形的大小。而且CAD的Scale命令还比较死,只提供一个比例设置,也就是各轴向只能等比例缩放。

2、 拉伸:(Stretch和Extrude

这两个功能也都翻译成拉伸,不过一般人Stretch用得比较多,Extrude比较少用,倒也不会造成太多困扰。

Stretch(S):对二维图形局部的拉伸,通常用于改变二维图形某个方向的尺寸,如果选择整个图形的话,图形会被直接移动。

Extrude:将二维图形拉伸成为三维模型,可以对多段线、面域等进行操作,通常用二维图形绘制好截面,然后处理成多段线或面域,拉伸的话就给截面一个高度,还可以设置拉伸的角度。

3、 多段线线宽和对象线宽

我们在绘制多段线时可以设置线宽,另外在对象属性中也可以设置线宽。两个线宽有什么区别和联系呢?

多段线线宽:多段线的线宽是以实际的图形单位来计算的,可以利用他来绘制一些特殊的图形,例如箭头等,也可以利用他来控制图形的打印线宽。多段线的线宽因为是按图形单位设置的,因此在打印时需要考虑比例,例如需要打印出0.3毫米宽的线,打印比例为1:100,在绘制多段线时就要把宽度设置为30。当多段线线宽设置过小,例如设置为3,打印比例为100,计算出来的线宽是0.03,CAD会按最小线宽,通常是0.09打印。

对象线宽:所有图形都可以设置线宽,这个线宽值主要用于控制打印,是按毫米设置的,设置为0.3,就表示0.3mm,线宽列表中已经写明了单位。在模型空间和布局空间中可以显示这个线宽,但显示的线宽都是示意性质的,及时在布局空间按页面设置显示也是如此,和最终打印的线宽还是不完全相同。给图形设置了对象线宽,并不表示打印时一定会按此线宽输出,最终还取决于打印样式表(CTB或STB)的设置,在打印样式表中设置为:使用对象线宽,给对象设置的线宽才会起作用。

如果同时设置了多段线线宽和对象线宽,将使用多段线线宽。

4、 世界坐标系WCS和用户坐标系UCS

对于初学者来说世界坐标系和用户坐标系概念比较难理解,实际这两个概念并不复杂。CAD给我们虚拟了一个三维空间,这个三维空间必须有一个基准,因此定义了一个初始的坐标系,这个坐标系就称为世界坐标系WCS。使用者根据自己的需要,有时需要调整坐标系的原点、旋转角度、方向、位置等,调整后的坐标系就是用户坐标系:UCS。UCS可以随便定义,但WCS始终是不会变的。

5、 各种线型比例(全局比例因子、当前对象缩放比例、对象的线型比例)

在CAD线型资源管理器里有两个比例:全局比例因子、当前对象缩放比例,在对象的属性(CTRL+1)中也有个线型比例,他们分别起什么作用呢?

全局比例因子:图纸中所有图形的线型比例都会乘上这个比例,假设这个比例设置为100,某条线自己的线型比例是2,那么实际的线型比例就是200。如果图纸尺寸非常大或非常小,要正常显示和打印虚线,通常可以统一调整全局比例因子。

当前对象缩放比例:线型资源管理器中的此比例会影响后面创建所有对象的线型比例,而不会影响已经绘制好的所有对象的线型比例。

对象的线型比例:每个对象都有自己的线型比例,可以在属性框中进行修改。

6、 绘图比例 打印比例 视口比例

绘图比例:也就是绘图时将图形按一定比例缩小或放大绘制,例如绘图比例1:100,就是将图形缩小100倍绘制,这样可以保证1:1打印输出,这种情况下要按实际尺寸标注,需要设置标注的比例。有些专业软件,例如浩辰建筑等,实际是按1:1绘图,但也需要设置绘图比例,但这个绘图比例实际是按打印比例绘制的,主要考虑到按打印比例去相应放大文字、标注的大小。例如将来要1:100打印,在1:1绘图时虽然图形不用考虑缩放,但文字高度、标注大小必须考虑,假设打印要求文字高度为3mm,那么在图中文字的高度就要是300。在这些专业软件中设置好绘图比例后,这些处理软件会自动进行,设计人员只用考虑最终打印的要求就可以了。

打印比例:由于按1:1绘制的图形尺寸比较大或非常小,需要缩小或放大一定比例才能打印到纸张上,因此打印时需要设置打印比例,通常打印比例在绘制图纸前就已经规划好了。如果需要打A4小样的话,可以直接勾选“充满图纸”,让CAD自动计算打印比例。

视口比例:在CAD中提供了布局空间,主要用于布图打印。可以用视口显示模型空间中绘制的图形并设置相应的视口比例,在视口外套图框,最后1:1打印输出。在布局空间还可以设置多个视口,每个视口使用不同比例,这种情况下也需要调整文字和标准。

7、 厚度(Thickness)和标高(Elevation

绘矩形时,命令提示中出现E和T两个参数,初学者不易理解,其实非常简单:

E参数为矩形所在的标高平面(即平行于标高为0的XY平面的其他平面,其标高值体现于Z轴上)

T参数为矩形的厚度,即形成立方体的高度(三维图中可见)

下图中有三个矩形,其中红色和绿色的厚度为0,黄色矩形的厚度为30,三个矩形的标高分别是0、50和100。

厚度是二维图形的一个基本属性,标高不仅可以每个对象单独设置,也可以对视图进行整体设置。

Thickness:你打开属性框(Ctrl+1),可以看到厚度是对象的一个基本属性。大多数二维图形都可以设置厚度,例如直线、多段线、圆等,但样条线(spline)无法设置厚度。

Elevation:如果你绘制的图形Z坐标不为零,说明你的当前视图有标高。你在不选择任何对象的情况下,打开属性框(Ctrl+1),看看视图的Z轴坐标。在属性框还改不了,你需要输入elevation命令,然后修改标高。

 

暂时就想起这么多,如果大家觉得还有什么概念不太容易弄清楚的,可以留言,我再补充。

 

以上内容适用于AutoCAD及浩辰CAD等与其类似的软件。

发表在 CAD技巧 | 标签为 | 留下评论