用VB.NET和VC#.NET开发交互式CAD系统.pdf

所需积分/C币:34 2013-02-19 03:21:16 22.11MB PDF

用VB.NET和VC#.NET开发交互式CAD系统
交互式CAD系统开发基础系列丛书 用 VB. NET和VC#NET开发 交互式CAD系统 苏金明周建斌编著 電子工業出顾 Publishing House of Electronics Industry 北京· BELJING 内容筒介 本好主要结合 VBNET和VC#NET两种语介绍了创建父互式CAD系统的基本忌路和技术,分别 给山了两种语言的小系统完整代码,并讨论了技巧实现的其他可能性以及系统代码的改进方法 个书前3章要介绍语言基础和NET框架盐础,第4章至第8章结合一个CAD小系统的创建详细地 介绍了交互式CAD系统的组织思路和基本技术,第9章至第1章介绍了更多的技巧实现方法和系统优化方 法,笃12壅结合CAD编程进行了些设计模式方面的讨论:写作过程中注意了循序渐进的讲解原则,内容 适合不同学习阶段的读者 乜中所有示例程序都選过摒试,并放在随书的光盘上,以便于学习和交流。 本予可供从事图形学、CAD技术以及编程技术的有关工程技术人员、程序员、人学生、研究生阅读 参老 未经许叫,不得以何方式复制或抄袭本书之部分或全部内容。 版权所有,侵权必究 图书在版编目(C|)数据 用ⅤNET和Ⅴ#NET开发交耳式CAD系统苏金明,周建姍编著.一北京:电子L业出版社,20041 (交互式CAD系统开发基础系列丛书 IsBN7-540539443-6 1.用…Ⅱ.①苏…②周…Ⅲ.① BASIC话吉一程序设计②C语言一程序设③计缠机辅助设计 Ⅳv.①TP312②TF39172 中国版本图书馆CP数据核字(203)第12512号 责仟编辑;王吕铭 刷;北京人燃颖华印刷厂 出版发行:电子业出版社 北京市海淀区万寿路173信箱由编100036 销:各地新华书店 开本:787×1092W16印张:22.5—数:576千字 印次:2004年1月第1次印刷 印数:5000定价:3800元(含光盘1张) 凡府买电∫上业出版礻的图书,如有缺损问题,请向购买书店调换。若书店售缺,请与本社发行部 联系。联系电话:(010)68279077。质量投诉请发邮件至zLts@phei.com.cn,盗版侵权举报请发邮件至 digg@@phei.com.cn 前言 交互式CAD技术是泪前应用十分广泛的一种绘图技术,它约主要特点是可以把创建和 编辑图形的动态过程展示来,因而具有更强的交互性能:为了使更多的人了解和掌握这 技术,我们編写了这套父瓦式A系统开发基础系舛丛书。丛书一共3本,分别结合不同 的话言进行介纲。本书是其中的第3本,主要介绍用 VB NETT和ⅤC#NET开发交互式CAD 系统 本书的内容 本书结合BNT利VC#NET两种语言介纲了创建交互式CAD系统的基本思路和技术。 第1章至第3草主要介绍斤面各章可能用到的语言基础和NET框架基础。其宀:第1 章对NET进行了比较简略的介绍;第2章介绍了 VB. NET和VC并VET的面向对象编程方法, 需要指H的是,ⅤBNFT已经是完全面向对象的编程语言了;第3章介绍了GD+编程的一 些方法和效果,GDI+是GD的改进版本。 第4章至第8章结合一个CAD小系统的创建详细地介纲了交互式CAD系统的组织思路 和基本技术。这部分的第4章介绍了系统中对象的提取、组织及代码实现情况,给出了一些 相关的UML类图;然后建立通用巫标系,确定它与页面坐标系、设备坐标系之间的转换关 系。第5章和第6章介绍通过建立基本图元类和交互绘图类来实现图元的鼠标交互绘制。第 7章介绍住基本图元类屮添加图元拾取的方法,添加选择图元的交互绘图类,实现图元的拾 取、选择和删除。第8章讲解了通过对图元的控制点进行几何变换来实现图元变换,包括图 元的平移变换、旋转变换、镜像变换和比例变换 第9章介绍了GD提供的一些交互绘图技巧,包括线形图元和区域的拾取、图元的几 何变换等。 第10章介纤与图元相交关系有关的些交互技术,给出了一个相交线与直线段相交的 实例,讨论了用矩形框拾取图元的思路和方法,最后结合GD+提供的对象方法介绍了计算 其他图元与曲线图元交点的愚路和方法。 第11章介绍了对第4章至第8章建立的小系统进行优化的一些于段,包括建立强键值的集 合类、状得 For each、纠正园整错误、用GD+进行交互绘图、界面美化和数据存盘、加等 第12章结合CAD编程技巧讨论了儿种设计模式的应用,主要讨论了状态模式、访问者 模式、模板方沄模式和策略模式。另外,还简略地介绍了L厂方法模式、观察者模式、命令 模式和记事模式 本书的特色 1·采用了面向对象的编程技术 本书主要的实例都采用了面向对象的编程术,其中第4章至第8章建立的CAD小系 统是一个比较完整的程序。它不仅仅演示了创建CAD系统的思路和方法,还是一个很好的 面向对象编程实例。 2.实例丰富 本书实例比较丰富,其特点就是用实例“说话”。全书示例程序分ⅤBNET和C#NET 两种诰言,大大小小各有50多个,而且所有的示例程序都在CAD的语境中进行绘制,基本 上没有与CAD无关的实例。这样做的好处是可以为读者创造一个学习的氛围,不分教注意 力 3.循序渐进的讲解方式 在章节安排上注意了循序渐进原则。首先介绍一些基础知识,然后是CAD系统的创建, 坛后介纲更多的技巧实现方法和优化方法,并结合CAD编程讨论设计模式的应用。如果您 对 VB.NET或VC#NET已经有了比较多的了解,而且熟悉GD艹和互操作,可以直接从第4 章开始阅读。不过建议您还是从头开始过一遍 本书的读者 所有关心图形学、CAD技术的大学生、研究生和其他相关人员都可以是本书的读者。要 求读者最好有一定的NBT编稈基础和而向对象编程经验。对丁初学者,前面3章提供了快速 入门的捷径 为方便您学习本书的内容,我们将所有示例程序都放在随书的光盘上。所有程序都通过 调试。 写作过程中,始终得到黄国明的支持,深表感谢!苏华惠做了部分录入工作,刘玉珊帮 助搜集资料,一并表示感谢! 由于作者水平冇限,书屮媸免存在谬误和缺点,壟请批评指止。请通过电子邮件与我们 联系 苏金明:sjm@263 net cn 周建娥:zjb@ cdut edu. en 作者 2003,0.12 目录 第1章NET基础…… …(1 11NET开发环境 ■■d日■■凸蚤■■山■■■ 晶凸凸备■凸晶晶晶凸d■■■ (1) 12基本语法 ■■自■禮晶凸■■■■■■凸■■■■■凸备_■ ……………………(3 12!数据类犁与转换·……" ………(3) 122变量 骨■■■■b ■■·■■口由口口v冒■■■■■■ …………(5) 2.3数组 ↓昌■■早『■·,■香号4 5) 124过程………s……………… ……“(6) 13名字空间 第2章面向对象编程 ■■↓彈一■■■↓ (11) 2.1关 卩■■罪■·备如bb电 (I1) 2.].1属性 ■冒■●音■血中中血 (1) 212方法…… +:…,……………(13) 213构造函数 中ψ即·自■日切郾■■卩■山郾■卓罾于4d 214亘载 ■■自·跏·■■·D噜咖咖咖b●自■司昌冒■■ (17) 215Me和this…∵…………*…: 血息甲@ (18) 25应用 Position类……,……"*"……… (19 22继承 …………………………:(20) 22⊥基类 甲P·會會曾■自自■■■『音『卓■■聊自1 ■音昏【■聊■■■最日晶晶看 20 222派生类 ■■曾日自■■自■ ………,(22 223抽象基类 ■晶↓县■卩山争↓ 24) 224重写 ……"……"………*………∵…s……(25) 225遮敞…………… (25) 2.26重载 ""…………"""……………(27) 227 My Base和bse (27) 23接口… ·ψ亠●·■■■■■小品西普晋 即血自即■早■■早中鲁自■1自■■日备↓■即即如鼻h■口。■ 28) 23.1创建 IGElement接口……… (28) 23.2实现 ELement接口“………………(2) 23.3测武 IGElement接口…………………………*…灬……… (3)) 4多态 30 241用强承实现多态……………………………………………(3l) 242用接口实现彩态 管■自幽?■■■■ …………s……(32) ,43两种方式的比较 (34) 第3章GD|+编程 (35) 3 raphics对象 35) 31↓创建和使用Gra对象… L4·■日日日日▲4日日日日L↓P4日日自:『P4日:自日日品日:自日a日:P:··■ 35 312 Paint事件科 Onpaint1方法 40 32线条绘制………… 血b即咖喜【■血 40) 32!数色…………""…"…s"…""………(40) 322画笔……,…,…: (41) 323线条绘制示例 平;4q4↓1t鲁4b香■ ■阜●血會罪申鲁自D命动命自自由■p电■口■唱自鲁 (42) 33文本…… 略■■■■L ■· (46) 3.3.1 FontFamul类……………………………………………(46) 3.3.2Font关……… ■■··■■晶·血■鼻卜·db·卓血■啁·b …………(47) 33.3 StinGo类 47) 334蒯子 ……………"…s…"ss"""………(48 335 Drawstring方法…………… ta(.49) 336文本绘制示例 甲■口■■■P■口個画 ■■『■晶·●ddb 34路径…… 血●ψ■···■·唱■■■■昌■↓4b·b 日日曾會會中 血_斷 50 34] GraphicsPath类, …"…""………………(5) 342绘制和填充路径…r…………………………(52) 34,3路径定义示例…… 2·日日啁··口自口日 (52) 3.5区域…… 早PP曾會自口日■看吾晶d西■面晶晶aa‘当·甲中t (53) 351 Region类 53) 352渐变色填充 55) 3.6壓标与变换… ■■dd聊 幽卩卩■即■■■■↓萨郾自省■■b ■日日■■日血中●·自自日口中■ ■·中P鲁普 (59) 3.]坐标系统 ■即聊◆φ·自日■■咖···申自·即◆;■■■■■福品■4日·t (59) 362凡何变换…………………………………………………(59) 363全局坐标与局部坐 P晋?■■■■日日·過·4山讠b中p■■■■■·血 (64) 37 alpha混合…… (70 38反走样… …r"""ss…(71) 39用AP函数绘图………………………………………(73) 391为么还要使用AP函数… 4P曾·1音■■■■售1 (73) 392AH西数的声明和词用 ■■■■會即鲁甲自自■晶晋鲁斷 ……………………(74) 393用AP函数绘图示例 ………(74) 第4章设计CAD小系统的基本思路和技术……………………(78) 41相关关的设计 ■■早香十鲁■普 ■■电也 78 4.⊥.1对象和关 ↓↓·↓■自■“银即p·卓 (78) 4.].2基本图元类设计 (78) 4.3交互绘图类进计,…… ……;……….(79) 414类的交互……… 會■■卩●动 (80 4.2坐标系统 千日···b身自阜·?早自申日日昏■日罪◆b4ψq即聯■甲 *(80) 4.3交互技术及其实现 h晶晶h山曾 82) 4.3.1用鼠标绘图… ■■■■■■·■·■φq旱·争曾唱噜鲁曾噜自自自自會_■ 83) 432橡皮线… 85) 44集合类… ↓—吾A4亠 89 4.5其他技术 週【L 喝郾■4d 4 ■■■■■■■■■罪 92) 45.1数拼石 曾·會曾ψψ俨昏■■■■■■普■d■■h』凸血血 (92) 452界面优化 ·山唱■■·■■■■■··●司自■■4■兽画 司↓马d4d山啬 92) 第5章基本图元类设计… ■■日日日·身·日自幽自卩■号●P■■■■d曹●啁咱自自 (93) 51Win32AP类 會會跏咖自■■■吾普矗■山山晶晶当画画 曹自■■ 93) 52 ELEment类…………4……∵…… ■冒日晋暑“■d聊聊b·即■■■■■聊咖··q自自自口■■a 97 53CLin类 +中44自日■吾吾▲b:日.··中日日日·4吾日+白面日日 …:(l0t) 54 REctangle类……… (166) 55 cIrcle类 曾會■■■■■■鲁◆■中自■■■■■■·鲁中自會■■督晋备中 ………"(112) 56CArc类 ·日L4吾h= ………………(117) 5.7cTex类 ""…………………………(125) 第6章交互绘图类设计… (133) 61] rCommand接! ………………(133) 62 CCreateLine类… ■■冒■會看唱 ……(133) 63 CCreateRectangle类…… ……………(138) 64 CCreatecircle类…… ""……"……………"""(142) 65 CCreateArc类… ………………(147) 66 CReate Text关 即■■■ ●■■■■鲁阜曾◆唱昏昏 ………(153) 67实现交互绘图…………… …(155 6.7.1创建稈序界而 ■旱即咖甲■■4 日日PP曾曾『■■■■聊k (l55) 672创建测试代码 ·····鲁早·目中酽日旮吾最bb即····甲···*。 卜啬十曾十音■■●中 (156) 第7章图元的编辑 ····即「·■!甲冒■b目■44如即■"◆·sa■ ……………(161) 71拾取图元 4···日■日_4·4日日日日·‘4··日日口品+4口■■ (161) 7L1包围矩形的亡算 ………………(l61) 7.1.2扮取图元 ■■■凸晶b■■ ■■■■■最易 吾+ ■卩罩鲁b也。pb (l72 72选择图元 !P會■冒吾■↓ψψ·▲·q··自a画 "…………(l8]) 7.2添加菜单资源 ·卓日自幽唱··4自自■■吾晶通如="日·會曾■■■■■h↓吾〓"甲_冒冒目■■■■b耶●· (182 722鼠标单选 ■■■■●口■■■■ (182) 723全选 (184) 724放弃选择……………* 日·鲁白■■■中啁 ……………………(186) 73删除图元 ■■● 日中卓·自■_备“■日··口■■■■ (187) 第8章图元变换… l88) 8.1平移变换 ■bb·哪 ··■·····嚕·●亨自自■■bdsa …………(188 811更新图元类 ¨……………r""…"…………(188) 82创建 CMoye类 ……………(192) 8.3实现平移图元…………-",…, 196) 82旋转变换 甲會·鲁會會·■鲁十會 ………………:(197) 821更新图元关 h山Lcb吧c■■ (198) 822创建 Rotate关 201 823实现旋转图元 ……………………………………(205) 83镜像图元 ■口↓■伽·唱·唱■自自血■ψ口口■■■■■■唱幽·中ψ卓幽■ψP唱ψ血自■■醫■警■■■■■晶画晶凸古矗晶画亠山古画= (206) 831更新图类……………………………………(207 832创建 CMirTo类 甲早吾b+吾吾卜白■日·甲甲·即··日自自自日日?号甲日中曾 (211 83.3实现镜像图元 …:…(215) 84比例缩放图元……………………………………….(216) 841在 CERement类中添加 Scale方法…… p●命●血■■■看■ (216) 842在派生类中重写Sce方法 ……(216) 84.3实现比例变换……… "……"""""……(219 第9章GD+提供的交互技巧…… ""st…(221) 91获取线形图元的包围矩形……………-……(1) 92拾取线形图元 L■ 晶·罩+·即■■■甲甲曾晋中◆雪自音■■ 4(223) 9.3区域的拾取… ■‘b罩丬4····甲罾甲■冒曾曾冒『即昏昏■聊晕●b●山■ (230) 94图元的复制… ··會自■曾■■昏■■罪p●ψ■■■q·命●●pt …(233 9.5曲线的拾取 甲冒■■斷會■即 rrss…·(234) 96图元变换 ·中自日日4品当占■山=早·D中冒■ ………(239) 第10章相交图元 245) 101相交线… …(245) 102矩形框拾取… (255) l03曲线求交… …"………"t…-(268〕 第11章优化处理 ……274) l.1强變值的集合类 ■■ψ·■血·■■q罾冒■■■日口晶■d自山山■■p■甲D自者●卾即郾郾■P4晉h■會■即罪 (274) 1111NET提供的集合类予缺点 274) 1.2创建强键值的集合类……………*…---4441 275 12获得 For each…………-…………………………(283) l12.1以后期绑定方式使用 For eac 283) 1122以前期绑定方式使用 For each 會鲁鲁自自自■晶凸画 ……(285) 13圆整错误 幽血1日吾+1由自由如中即咖自自·争·自自冒提·自 ……"…(290) 14使用GD+交互绘图 ■■■■p即看西d■■ ■ 293) 11.5界面美化 ···血b日■····s日日日4吾+口甲pp日 ……(299) 15L褓加工具栏和状态栏 自自自西●4山古日·b·自自自日日母4如日=甲 299) 1]52启动窗口………………, b■■■··ψ●●即■■4晋卜音■罪甲咖··自即n早中曾咱冒曾上暑 15,3 About窗冂…… ……………(308) 1数据存储… 聊·自白自日■■卜鲁古香■■■咖·唱●■■■甲俨中曹中囱自鼻聊■■↓山 (309) 1l6」序列化与反序列化…………… :(309) 162CAD图形数据的序列化和反序列化 ●◆●·■号4晋■b斷身卩1着 (314)

...展开详情

评论 下载该资源后可以进行评论 8

joni5 用VB.NET和VC#.NET开发交互式CAD系统.pdf
2019-06-30
回复
hoffe 资料不错,但是有缺页
2015-12-15
回复
小WW 对于研究CAD有还是可以一看的。
2015-10-26
回复
erball 很好的资料,正在学
2015-09-05
回复
sinomama 不是AUTOCAD开发,是用.NET做了一个WINDOWS窗口程序,具有类似CAD的基本功能的软件。
2015-08-04
回复
ZhouSongKe 全面。非常有用。可见的.Net-CAD教程不多。感谢分享!
2015-02-22
回复
dafuhaizhu 有用,谢谢分享,如果有其他资源更好了
2014-04-14
回复
xqi20102010 非常有用,谢谢分享!
2014-02-28
回复
img
夜伏击

关注 私信 TA的资源

上传资源赚积分,得勋章
    最新推荐