- 博客(50)
- 资源 (1)
- 问答 (1)
- 收藏
- 关注
原创 2024.09.10被辞退了
别人是教师节,我是打工结束日,谈了只给你两个月工资的赔偿,这两年下来悲喜掺半。周围的同事新人换旧人,现在也到我是旧人了。出来社会打工才知道社会险恶,人心也险恶,如何独善其身需要一生的修行。当然学习和自我提高能力也是一条漫漫长征路,往后的日子希望身体健康,保持一颗积极乐观的心态来对抗这个繁杂的世界吧。如今也算是告一段落了,又开始新的找工作征程。。。
2024-09-10 11:40:04 125
原创 C#Winform常见的多线程实现方法:
你可以根据具体需求选择合适的多线程实现方式,如 Thread 类、BackgroundWorker 类、Task 类和 async/await 关键字等。现代 C# 推荐使用 Task 类和 async/await 关键字,因为它们使代码更易读,并且更容易处理异步操作。WinForms 提供了多种方式来实现多线程,包括使用 Thread 类、BackgroundWorker 类、Task 类和 async/await 关键字等。如果你需要在后台操作中报告进度,可以使用 Progress 类。
2024-09-10 11:32:05 822
原创 C#Winform常见的多线程实现方法:
你可以根据具体需求选择合适的多线程实现方式,如 Thread 类、BackgroundWorker 类、Task 类和 async/await 关键字等。现代 C# 推荐使用 Task 类和 async/await 关键字,因为它们使代码更易读,并且更容易处理异步操作。WinForms 提供了多种方式来实现多线程,包括使用 Thread 类、BackgroundWorker 类、Task 类和 async/await 关键字等。如果你需要在后台操作中报告进度,可以使用 Progress 类。
2024-09-05 11:39:06 500
原创 关于NetTopologySuite这个C#库的学习
NetTopologySuite 是一个功能强大的几何处理库,它是由前身java的一个库改为C#的一个库得来,广泛用于地理信息系统 (GIS) 和计算几何应用中。
2024-08-21 10:08:06 940
原创 CAD二次开发加载dll
在 CAD 二次开发中,特别是 AutoCAD 的二次开发中,通常使用 .NET 程序集(DLL)来扩展其功能。每次启动 AutoCAD 时,手动加载这些 DLL 可能会很麻烦。为了自动加载这些 DLL,可以使用多种方法。这些方法包括使用 AutoCAD 的启动脚本、注册表设置或 AutoCAD 的.NET API。
2024-08-13 15:44:56 628
原创 CAD关于Curve偏移生成一个DBObjectCollection对象
很奇怪,为什么是一个集合的对象,今天试了一下,生成的确实只得到一个偏移对象的实体。只需要提取第一个索引值即可。
2024-06-13 16:49:05 316
原创 CAD二次开发关于只加载一个dll动态库(没有包含CommandMethod)就能将其他被引用的dllCAD(CommandMethod)命令也是加载的解决方法
CAD二次开发关于只加载一个dll动态库(没有包含CommandMethod)就能将其他被引用的dllCAD(CommandMethod)命令也是加载的解决方法
2024-05-24 16:43:39 415
原创 打开from设计界面报0x80041FEB记录
网上找了很久都没找到解决方法,我就再新建一个winFrom窗口,来比较缺少了什么,发现是这个文件的问题。之前项目都是好好的,今天打开就出现打开不了From设计页面。
2023-05-09 15:22:42 592
原创 CAD 二次开发用户坐标发生旋转的问题
在开发过程中很容易遇到用户坐标的情况,一般来说,如果没有发生旋转的,只需要将世界坐标转为用户坐标就好了TransformBy(ed.CurrentUserCoordinateSystem),但是如果旋转了,就还需要把它转正。根据Matrix3d.Rotation()旋转矩阵函数就可以把它根据用户坐标的方向转正。以下方法是获取用户坐标下旋转的角度。
2022-10-20 18:29:32 893
原创 CAD 开发 渐变填充
步骤:方法实现//渐变填充 /// <summary> /// 渐变填充 /// </summary> /// <param name="db">图形数据库</param> /// <param name="gradientName">渐变的名称</param> /// <param name="colorIndex1">渐变
2022-05-24 11:25:24 416
原创 CAD 开发 图案填充
步骤:函数实现:/// <summary> /// 图案填充 /// </summary> /// <param name="db">图形数据库</param> /// <param name="patternScale">图案的大小</param> /// <param name="patternName">图案的名称</param
2022-05-24 10:44:37 472
原创 CAD开发 UCS转WCS(用户坐标转为世界坐标)
在CAD添加实体到模型空间中都是用世界坐标的点添加的。UCS坐标是用户GetPoint()这种交互集获取得到用户坐标。关于UCS转WCS如下:AutoCAD .NET: Transform Picked Point from Current UCS to WCSWe are addressing a very simple task regarding AutoCAD .NET programming in this article. How to transform a picked point
2022-05-23 09:28:46 2363
原创 CAD 开发--卸载外部参照(UnlodeExteralReference)
//[CommandMethod("UnlodeExteralReference")]public void UnlodeExteralReference(string btrName){ Database db=HostApplicationServices.WorkingDatabase; using(Transaction trans=db.TransactionManager.StartTransaction()) { //打开块表 BlockTable bt=t.
2022-05-19 11:49:24 670
原创 C#获取对象属性
.NET Framework提供了两种方法来访问类型上的元数据:命名空间中System.Reflection提供的反射 API 和TypeDescriptor类。 反射是适用于所有类型的通用机制,因为它的基础是在根Object类的方法中建立的GetType。 它为类型返回的信息不可扩展,因为它无法在目标类型的编译后对其进行修改。中望CAD的自定义实体,在正常的获取属性用反射的方法是获取不了了,中望也没有给出说明,折腾了一天,终于重网上看到可以用这种方法获取得了。 DBObject brf =(.
2022-05-13 17:55:18 1673
原创 C# 字典一个Key多个Values
C# 无论是哈希表还是字典数据结构,key的值都不能相同,如果相同了就会抛出异常。如果key与value的值是相同的话,可以存储相同的key,通过重写IEqualityComparer<?T>这个类的 bool Equals(T? x, T? y) int GetHashCode([DisallowNull] T obj)这两个方法其实就是变化一下他们的hashcode,因为每个变量的hashcode都不一样的public class RepeatDictionaryCompare.
2022-04-28 15:41:37 6281
原创 CAD 开发寻找最短距离算法
有一个功能需求,求每一个到另外一点的最短距离,类似以下这种情况手写思路如下代码如下: /// <summary> /// 求最短距离的点 /// </summary> /// <param name="points">传入链表的集合</param> /// <returns>二维数组的集合</returns> public List<Point3d
2022-04-26 17:54:26 1028
原创 CAD 二次开发--多段线绘制
[CommandMethod("AddPoly")] public void AddPoly() { Document doc = Application.DocumentManager.MdiActiveDocument; Database db = doc.Database; Editor ed = doc.Editor; double width = 0; //初始化线宽
2022-04-21 11:04:16 1504
原创 CAD 不用频繁启用 (升级版)
思想通过调用外部的json文件来修改要执行文件的方法和类。public class Class1 { private Action cmd; //构造函数执行一次Reload函数 [CommandMethod("reload1")] public void Reload() { //#region Cmd1 HelloWorld //string dllName =
2022-04-18 14:39:21 197
原创 CAD 开发实现不重启CAD软件修改代码调试
思想主要是运用C#反射原理,以一个新的项目作为中间键,加载原有项目的函数和方法,启动CAD时调用中间键的dll,中间键的dll将原有项目的dll加载进来。实现调试功能。这样在CAD开发过程中很方便,就不用老是重启CAD软件了,电脑慢的话,启用CAD软件需要很多时间。代码如下,已经注释好了。public class Class1 { private Action cmd1; //构造函数执行一次Reload函数 public Class
2022-04-18 10:07:00 1260
原创 C# Json
一、下载Json包在引用NuGet程序包搜索如下的Json,便会添加到引用。二、引用命名空间using Newtonsoft.Json;using Newtonsoft.Json.Linq;三、运用主要是运用到这两个方法,储存到的一个JObject类型里JsonConvert.DeserializeObject()//序列化string成Json结构JsonConvert.SerializeObject()//将Json反序列化为stringvar jsonstr = "{'姓名':
2022-04-16 21:33:07 1230
原创 C# 参考$ @
$说明$ 特殊字符将字符串文本标识为内插字符串 。 内插字符串是可能包含内插表达式的字符串文本 。将内插字符串解析为结果字符串时,带有内插表达式的项会替换为表达式结果的字符串表示形式。 从 C# 6 开始可以使用此功能若要将字符串标识为内插字符串,可在该字符串前面加上 $ 符号。 字符串字面量开头的 $ 和 " 之间不能有任何空格。具备内插表达式的项的结构如下所示:{<interpolationExpression>[,<alignment>][
2022-04-15 14:38:29 996
原创 C# Type.gettype(string ) typeof(T) object.gettype()区别
Type.gettype()方法是需要具体的命名空间+类的字符串 返回Type类型typeof(T)输入参数是具体的某个类,返回是Type类型GetType()方法是C# Object类的基本方法,用于具体某个变量的方法调用,返回的是Type类型 Editor editor = Application.DocumentManager.MdiActiveDocument.Editor; Type type2=Type.GetType("test01.DrawFile"); Typ
2022-04-15 09:48:30 2680
原创 CAD二次开发知道的这几点事
CAD对象标识句柄(Handle)DWG文件中的每一个实体都有一个唯一的标识符,称为句柄,用Autodesk.AutoCAD.DatabaseServices命名空间的Handle类表示。实体的句柄可以随DWG文件保存,所以即使DWG 文件没有被AutoCAD 打开,也可以根据句柄搜索DWG文件获取对象信息。句柄的唯一性仅限于其所在的DWG文件中,可以通过数据库对象DBObject的Handle属性返回数据库对象对应的句柄。对象ID(ObjectId)当DWG图形被打开后,数据库中的实体对
2022-04-08 17:17:40 1530 1
原创 ZWCAD二次开发
ZWCAD的二次开发与AutoCAD二次开发一样,只不过一个是国产,一个是美国的,说白了就是抄AutoCAD的,所以里面的开发接口大部分都是雷同的,只是有一些没有抄过来。IExtensionApplication这个接口主要有两个方法public interface IExtensionApplication{ void Initialize(); void Terminate();}用于实现程序加载完dll后实现的方法和结束程序实现的方法。[assembly: Extens
2022-04-07 09:45:14 1006
原创 string 日期格式化
第一种描述DateTime dt = new DateTime(2017,4,1,13,16,32,108);string.Format("{0:y yy yyy yyyy}",dt); //17 17 2017 2017string.Format("{0:M MM MMM MMMM}", dt);//4 04 四月 四月string.Format("{0:d dd ddd dddd}", dt);//1 01 周六 星期六string.Format("{0:t tt}", dt);//下 下
2022-04-02 11:32:47 2088
原创 CAD二次开发
工作内容第一次跳槽来到这家公司(山水比德)熟悉CAD的API接口第一次跳槽来到这家公司(山水比德)工作的主要任务是对中望CAD软件进行插件的开发工作。用到的主要开发语言是C#语言。开发框架是.NETFramework4.7.2.熟悉CAD的API接口主要用到开发接口的两个动态库是ZwDatabaseMgd.dll和ZwManaged.dll。.在ObjectARX中,“acrxEntryPoint”函数是ARX程序的载入点,程序的初始化和清除均可在该函数中进行,命令在入口函数中注册。而在NET中只
2022-03-30 11:28:11 2952 2
原创 git提交失败
说明:如果不小心在仓库上创建了一个readme文件,而本地没有这个文件,这个时候如果推送到仓库就会出现问题了。 ! [rejected] master -> master (non-fast-forward)error: failed to push some refs to 'https://gitee.com/zydltech/reptile-project'hint: Updates were rejected because the tip of your current
2022-03-21 11:17:15 924
原创 linux生成可执行文件的过程
编译器:GCC预处理:头函数的包含,去掉注释,宏展开gcc -E helloworld.c -o helloworld.i;编译:编译过程做语法检查,生成汇编文件gcc -S helloworld.i -o helloworld.s;汇编:将汇编语言生成对应的二进制文件。gcc -c helloworld.o -o helloworld.o;链接:添加对应的操作系统链接库生产可执行文件。gcc helloworld.o -o helloworld;...
2022-03-14 10:36:26 7649
原创 ubuntu20.04 安装钉钉
之前用命令行安装钉钉一直不成功,打开就闪退,无奈只能切换系统到window登录。一直没有时间解决这个问题,今天在一篇博文上看到一个别人大佬的写好的第三方软件。附上链接就解决问题了钉钉。...
2021-12-01 10:59:40 1975
原创 Ubuntu 编译qt5.14.2 Could not find qmake spec ‘‘.
Ubuntu 编译qt5.14.2Could not find qmake spec ‘’.Error processing project file: /home/wen/桌面/qt-everywhere-src-5.14.2/qt.pro这是因为目录有汉字出现的,所以安装ubuntu时最好用英文版本的解决方法:将源代码迁移到没有中文的路径,再编译...
2021-07-27 10:48:14 3244
原创 linux 20.04编译QT14.02时出现如下错误*You don‘t seem to have ‘make‘ or ‘gmake‘ in your PATH. Cannot proc
linux 20.04编译QT14.02时出现如下错误You don’t seem to have ‘make’ or ‘gmake’ in your PATH.Cannot proceed.解决办法:安装build 的组件sudo apt-get install build-essential
2021-07-27 10:10:23 850 1
原创 关于Ubuntu 微信无法显示图片的问题
##关于Ubuntu 微信无法显示图片的问题因为deepin包是32位的用的是i386架构sudo apt-get install libjpeg62-dev:i386
2021-07-26 15:36:36 1844 6
原创 ubuntu20.04静态编译qt5.14.2报错
ubuntu20.04静态编译qt5.14.2报错collect2: error: ld returned 1 exit statusmake[3]: *** [Makefile:134: …/…/bin/qml] Error 1make[3]: Leaving directory ‘/home/wen/Desktop/qt-everywhere-src-5.14.2/qtdeclarative/tools/qml’make[2]: *** [Makefile:155: sub-qml-make_f
2021-07-05 11:10:15 987 4
原创 虚拟机的ubuntu系统一直无法连接网路
ubuntu出现无法连接网络问题虚拟机的ubuntu系统一直无法连接网路虚拟机的ubuntu系统一直无法连接网路1、sudo service NetworkManager stop //将网卡服务关闭掉2、sudo rm /var/lib/NetworkManager/NetworkManager.state3、sudo service NetworkManagement start //重启网卡服务...
2021-06-18 17:11:01 98
原创 虚拟机ubuntu时间显示错误问题
修改Ubuntu虚拟机的时间1.修改时间命令:timedatectl set-timezone “Asia/Shanghai”2.查看系统日期时间:timedatectl status时间查询的另一条命令:data -R
2021-05-06 13:56:13 485
原创 日常bug
日常bug问题描述:严重性 代码 说明 项目 文件 行 禁止显示状态错误 C2440 “初始化”: 无法从“const char [1]”转换为“ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t>>>”是因为编译器无法识别字符串集的问题。在高级哪里将字符集设置为多字节字符集就OK了。...
2021-04-29 10:34:19 112
书柜3D模型
2018-10-15
Linux 下编译QT5.9.9静态版本没有显示中文
2021-05-25
TA创建的收藏夹 TA关注的收藏夹
TA关注的人