From 89b421dff2133dbf1be340eb300f545041c6365d Mon Sep 17 00:00:00 2001 From: xk <9063830+giteezxk@user.noreply.gitee.com> Date: Thu, 1 Jul 2021 14:32:46 +0000 Subject: [PATCH 1/6] =?UTF-8?q?update=20docs/=E5=85=B3=E4=BA=8EIFoxCAD?= =?UTF-8?q?=E7=9A=84=E6=9E=B6=E6=9E=84=E8=AF=B4=E6=98=8E.md.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...66\346\236\204\350\257\264\346\230\216.md" | 27 +++++++++++++++---- 1 file changed, 22 insertions(+), 5 deletions(-) diff --git "a/docs/\345\205\263\344\272\216IFoxCAD\347\232\204\346\236\266\346\236\204\350\257\264\346\230\216.md" "b/docs/\345\205\263\344\272\216IFoxCAD\347\232\204\346\236\266\346\236\204\350\257\264\346\230\216.md" index 84f1173..4a3fe68 100644 --- "a/docs/\345\205\263\344\272\216IFoxCAD\347\232\204\346\236\266\346\236\204\350\257\264\346\230\216.md" +++ "b/docs/\345\205\263\344\272\216IFoxCAD\347\232\204\346\236\266\346\236\204\350\257\264\346\230\216.md" @@ -7,13 +7,30 @@ IFoxCAD是基于NFOX类库的重制版,主要是提供一个最小化的内核 ## 一、组织结构图 - IFoxCAD - - - IFoxCAD.Cad -- cad 相关的类库 - - IFoxCAD.WPF -- wpf的mvvm模式相关的类库 - - and so on.... + - IFoxCAD.Cad - cad相关的类库 + - LinqEx - linq扩展类 + - LoopList - 环链表 + - IFoxCAD.Basal - cad以外常用的类库 + - Runtime - 包含系统级别的功能 + - AcadVersion - cad版本号类 + - AssemInfo - 程序集信息 + - AutoRegAssem - 程序集加载类型 + - DBTrans - 事务处理类 + - Env - 系统管理类 + - SymbolTable - 符号表类 + - ExtensionMethod - 扩展函数,以Ex结尾 + - SymbolTableEx - 符号表扩展类 + - SymbolTableRecordEx - 符号表记录扩展类 + - EntityEx - 实体扩展类 + - 。。。。。。 + - ResultData + - 待补充。。。 + - SelectionFilter + - 待补充。。。 + - IFoxCAD.WPF - wpf的mvvm模式相关的类库 + - 待补充。。。 - ## 二、关于DBTrans类的说明 ### 2.1 为什么要构建DBTrans类? -- Gitee From 428148ad1b09780dca34190f20727ad7e92dea5d Mon Sep 17 00:00:00 2001 From: xk <9063830+giteezxk@user.noreply.gitee.com> Date: Thu, 1 Jul 2021 14:43:53 +0000 Subject: [PATCH 2/6] =?UTF-8?q?update=20docs/=E5=85=B3=E4=BA=8EIFoxCAD?= =?UTF-8?q?=E7=9A=84=E6=9E=B6=E6=9E=84=E8=AF=B4=E6=98=8E.md.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...46\236\266\346\236\204\350\257\264\346\230\216.md" | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git "a/docs/\345\205\263\344\272\216IFoxCAD\347\232\204\346\236\266\346\236\204\350\257\264\346\230\216.md" "b/docs/\345\205\263\344\272\216IFoxCAD\347\232\204\346\236\266\346\236\204\350\257\264\346\230\216.md" index 4a3fe68..fe5624f 100644 --- "a/docs/\345\205\263\344\272\216IFoxCAD\347\232\204\346\236\266\346\236\204\350\257\264\346\230\216.md" +++ "b/docs/\345\205\263\344\272\216IFoxCAD\347\232\204\346\236\266\346\236\204\350\257\264\346\230\216.md" @@ -49,14 +49,18 @@ DBTrans的每个实例都具有这些属性,而这些属性就对应于cad的 ### 2.3 DBTrans类应该具有的成员 为了尽量少的封装方法,减少类的复杂度,目前计划的方法主要为: + 属性: +- Top ---返回当前事务 - Database ---数据库 - Document ---文档 - Editor ---命令行 - Trans ---事务管理器 构造函数: -- DBTrans(bool commit = true) +- DBTrans(Document doc = null, bool commit = true) +- DBTrans(Database database, bool commit = true) +- DBTrans(string fileName, bool commit = true) 符号表: - BlockTable 块表 @@ -73,6 +77,11 @@ DBTrans的每个实例都具有这些属性,而这些属性就对应于cad的 - GetObject ---根据对象id获取图元对象 - 。。。 +接口: +- Abort ---放弃事务 +- Commit ---提交事务 +- Dispose --- 执行与释放非托管资源 + ## 三、 关于SymbolTable类的说明 ### 3.1 为什么要构建SymbolTable类 -- Gitee From da60bd52dfa9571aa077a160abe40f788d3752f7 Mon Sep 17 00:00:00 2001 From: xk <9063830+giteezxk@user.noreply.gitee.com> Date: Thu, 1 Jul 2021 14:51:08 +0000 Subject: [PATCH 3/6] =?UTF-8?q?update=20docs/=E5=85=B3=E4=BA=8EIFoxCAD?= =?UTF-8?q?=E7=9A=84=E6=9E=B6=E6=9E=84=E8=AF=B4=E6=98=8E.md.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...232\204\346\236\266\346\236\204\350\257\264\346\230\216.md" | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git "a/docs/\345\205\263\344\272\216IFoxCAD\347\232\204\346\236\266\346\236\204\350\257\264\346\230\216.md" "b/docs/\345\205\263\344\272\216IFoxCAD\347\232\204\346\236\266\346\236\204\350\257\264\346\230\216.md" index fe5624f..8e28737 100644 --- "a/docs/\345\205\263\344\272\216IFoxCAD\347\232\204\346\236\266\346\236\204\350\257\264\346\230\216.md" +++ "b/docs/\345\205\263\344\272\216IFoxCAD\347\232\204\346\236\266\346\236\204\350\257\264\346\230\216.md" @@ -100,9 +100,10 @@ DBTrans的每个实例都具有这些属性,而这些属性就对应于cad的 方法: - this ---索引器符号表记录函数 - Add ---添加符号表记录函数 -- Remove --- 删除符号表记录函数 +- Remove --- 删除符号表记录函数(层表请使用扩展方法Delete) - Change --- 修改符号表记录函数 - GetRecord --- 获取符号表记录 +- GetRecordFrom --- 从源数据库拷贝符号表记录 - Has --- 判断符号表是否有符号表记录的函数 - 。。。 -- Gitee From f76de134d4bf122d178c9bdde59f8e9a75a9ea3f Mon Sep 17 00:00:00 2001 From: xk <9063830+giteezxk@user.noreply.gitee.com> Date: Thu, 1 Jul 2021 14:53:18 +0000 Subject: [PATCH 4/6] =?UTF-8?q?update=20docs/=E5=85=B3=E4=BA=8E=E6=89=A9?= =?UTF-8?q?=E5=B1=95=E5=87=BD=E6=95=B0=E7=9A=84=E8=AF=B4=E6=98=8E.md.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...\207\275\346\225\260\347\232\204\350\257\264\346\230\216.md" | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git "a/docs/\345\205\263\344\272\216\346\211\251\345\261\225\345\207\275\346\225\260\347\232\204\350\257\264\346\230\216.md" "b/docs/\345\205\263\344\272\216\346\211\251\345\261\225\345\207\275\346\225\260\347\232\204\350\257\264\346\230\216.md" index 820eb61..41d9336 100644 --- "a/docs/\345\205\263\344\272\216\346\211\251\345\261\225\345\207\275\346\225\260\347\232\204\350\257\264\346\230\216.md" +++ "b/docs/\345\205\263\344\272\216\346\211\251\345\261\225\345\207\275\346\225\260\347\232\204\350\257\264\346\230\216.md" @@ -12,4 +12,4 @@ SymbolTableRecordEx 实体对象扩展类 EditorEx.cs 表示关于命令的扩展 - +![输入图片说明](https://images.gitee.com/uploads/images/2021/0701/225314_5b34dd8d_9063830.png "屏幕截图.png") -- Gitee From 2095664fb41541fc42d546a224fd7143a3771a7c Mon Sep 17 00:00:00 2001 From: xk <9063830+giteezxk@user.noreply.gitee.com> Date: Thu, 1 Jul 2021 14:56:30 +0000 Subject: [PATCH 5/6] =?UTF-8?q?update=20docs/=E5=85=B3=E4=BA=8EIFoxCAD?= =?UTF-8?q?=E7=9A=84=E6=9E=B6=E6=9E=84=E8=AF=B4=E6=98=8E.md.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...32\204\346\236\266\346\236\204\350\257\264\346\230\216.md" | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git "a/docs/\345\205\263\344\272\216IFoxCAD\347\232\204\346\236\266\346\236\204\350\257\264\346\230\216.md" "b/docs/\345\205\263\344\272\216IFoxCAD\347\232\204\346\236\266\346\236\204\350\257\264\346\230\216.md" index 8e28737..d828220 100644 --- "a/docs/\345\205\263\344\272\216IFoxCAD\347\232\204\346\236\266\346\236\204\350\257\264\346\230\216.md" +++ "b/docs/\345\205\263\344\272\216IFoxCAD\347\232\204\346\236\266\346\236\204\350\257\264\346\230\216.md" @@ -30,7 +30,9 @@ IFoxCAD是基于NFOX类库的重制版,主要是提供一个最小化的内核 - IFoxCAD.WPF - wpf的mvvm模式相关的类库 - 待补充。。。 - + ![输入图片说明](https://images.gitee.com/uploads/images/2021/0701/225449_2b18eb89_9063830.png "屏幕截图.png") + ![输入图片说明](https://images.gitee.com/uploads/images/2021/0701/225550_840a862a_9063830.png "屏幕截图.png") + ![输入图片说明](https://images.gitee.com/uploads/images/2021/0701/225525_b246bbd2_9063830.png "屏幕截图.png") ## 二、关于DBTrans类的说明 ### 2.1 为什么要构建DBTrans类? -- Gitee From bc7aa74a0501257f8ecf2e30c8fb0f6331c542b1 Mon Sep 17 00:00:00 2001 From: xk <9063830+giteezxk@user.noreply.gitee.com> Date: Thu, 1 Jul 2021 15:12:49 +0000 Subject: [PATCH 6/6] update docs/DBTrans.md. --- docs/DBTrans.md | 44 ++++++++++++++++++++------------------------ 1 file changed, 20 insertions(+), 24 deletions(-) diff --git a/docs/DBTrans.md b/docs/DBTrans.md index d9aed7e..29f88dc 100644 --- a/docs/DBTrans.md +++ b/docs/DBTrans.md @@ -29,9 +29,9 @@ using (DBTrans tr = new DBTrans()) ## 符号表操作 -Ifoxcad 内裤的符号表其实是一个符号表的泛型类,直接将符号表和符号表记录包装为一个整体。不用担心,在实际使用的过程中,你几乎不会关心符号表的构成原理。 +Ifoxcad 类库的符号表其实是一个符号表的泛型类,直接将符号表和符号表记录包装为一个整体。不用担心,在实际使用的过程中,你几乎不会关心符号表的构成原理。 -Ifoxcad 内裤里采用如下的符号来表示9大符号表。 +Ifoxcad 类库里采用如下的符号来表示9大符号表。 | 符号表名 | 符号表含义 | | :------------: | :--------: | @@ -45,19 +45,18 @@ Ifoxcad 内裤里采用如下的符号来表示9大符号表。 | ViewportTable | 视口表 | | ViewTable | 视图表 | -然后怎么使用呢?使用符号表一共分几步呢? + **然后怎么使用呢?使用符号表一共分几步呢?** ```c# -using (DBTrans tr = new DBTrans()) -{ // 第一步,开启事务 - var layerTable = tr.LayerTable; - // 第二步,获取图层表 -} // 事务结束,会自动的提交 +using (DBTrans tr = new DBTrans()) // 第一步,开启事务 +{ + var layerTable = tr.LayerTable;// 第二步,获取图层表 +} // 事务结束并自动提交 ``` 上面是一个获取层表的例子,其他的符号表都是一样的写法,因为这些符号表都是事务管理器的属性。那么获取到符号表之后能做些什么? -- 向符号表里添加元素 +- **向符号表里添加元素** ```c# using (DBTransaction tr = new DBTransaction()) @@ -66,30 +65,27 @@ using (DBTrans tr = new DBTrans()) // 第二步,获取图层表 layerTable.Add("1");// 返回值为ObjectId // 第三步,向层表里添加一个元素,也就是新建一个图层。 - } // 事务结束,会自动的提交 + } // 事务结束并自动提交 ``` 每个符号表都有Add函数,而且提供了不止一个重载函数。 -- 获取符号表里的元素 +- **添加和获取符号表里的元素** - 想要获取符号表内的某个元素非常的简单: + 想要添加和获取符号表内的某个元素非常的简单: ```c# - using (DBTransaction tr = new DBTransaction()) - { // 第一步,开启事务 - var layerTable = tr.LayerTable; - // 第二步,获取图层表 - layerTable.Add("1"); // 返回值为ObjectId - // 第三步,向层表里添加一个元素,也就是新建一个图层。 - ObjectId id = layerTable["1"]; - // 第四步,获取图层“1”的id。 - } // 事务结束,会自动的提交 + using (DBTransaction tr = new DBTransaction()) // 第一步,开启事务 + { + var layerTable = tr.LayerTable; // 第二步,获取图层表 + layerTable.Add("1"); // 第三步,添加名为“1”的图层,即新建图层 + ObjectId id = layerTable["1"]; // 第四步,获取图层“1”的id。 + } // 事务结束并自动提交 ``` 每个符号表都提供了索引形式的获取元素id的写法。 -- 线型表 +- **线型表** ```c# // 两种方式 @@ -107,14 +103,14 @@ using (DBTrans tr = new DBTrans()) ltt.SetDashLengthAt(2, 0); // 一个点 ltt.SetDashLengthAt(3, -0.25); //0.25个单位的空格 }); - // 这段代码同时演示了 ifoxcad 内裤关于符号表的public ObjectId Add(string name, Action action)这个函数的用法。 + // 这段代码同时演示了 ifoxcad 类库关于符号表的public ObjectId Add(string name, Action action)这个函数的用法。 // 或者直接调用: tr.LinetypeTable.Add("hah", "虚线",0.95,new double[]{0.5,-0.25,0,-0.25}); // 获取线型表 tr.LinetypeTable["hah"]; ``` - 其他符号表就真的大同小异了。如果内裤没有提供的Add函数的重载,那么Action委托可以完成你想完成的所有事情。 + **其他符号表的操作类同。如果类库没有提供的Add函数的重载,那么Action委托可以完成你想完成的所有事情。** ## 基础属性操作 -- Gitee