自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Coder----Allen----Coder

小鸟说早早早,你为什么背上小书包。。。。

  • 博客(138)
  • 资源 (3)
  • 收藏
  • 关注

原创 问题讨论可以加我QQ,博客不会定期查看

大家如果对我的博客里面的技术性文章有什么疑问或者需要一起讨论学习的可以加我QQ:993945315,留言:博客问题讨论。

2018-06-26 09:59:18 185

原创 cad arx获取和修改系统变量值

/将AUTOCAD的系统变量“GRIPMULTIFUNCTIONAL”设置成0。//读取AUTOCAD的系统变量“GRIPMULTIFUNCTIONAL”

2023-08-24 10:43:50 196

原创 C++开发CAD拦截键盘事件并控制事件是否执行

/则不拦截事件,返回true则拦截事件。b、pMsg->wParam:判断按下的是哪个键。WM_LBUTTONDBLCLK(鼠标左键双击)On_kUnloadAppMsg()中注销事件。1、在cad的init接口中注册键盘捕获事件。WM_LBUTTONDOWN(鼠标左键按下)WM_LBUTTONUP(鼠标左键抬起)WM_MOUSEMOVE(鼠标移动)WM_KEYDOWN(键按下)WM_KEYUP(键弹起)4、如何判断按下了什么键。

2023-07-14 17:44:53 200

原创 CAD中的C++在各种字符串的转换处理

AcString可以直接当做const ACHAR*使用。3、判断ACHAR*是否等于某个值,计算ACHAR*的长度。2、AcString转const ACHAR*wcslen(value);4、std::string转ACHAR*1、string转AcString。

2023-07-12 18:01:30 294

原创 CAD C++ 设置自定义实体中subWorldDraw里绘制元素的裁剪框

自定义实体裁剪

2023-01-03 14:46:01 555

原创 C++ cad设置视角居中显示在指定坐标以及视口的宽度和高度设置

cad视角居中

2023-01-03 12:10:15 694

原创 CAD.net cad中的菜单创建

CAD.net创建菜单

2023-01-03 10:16:02 689

原创 cad中格式化输出文本

cad中格式化点坐标并输出到cad

2022-07-07 11:14:35 255

转载 CAD ARX 获取当前的视口设置

cad视角

2022-07-05 11:41:09 630

原创 CAD插件的安装和自动加载dll、arx

cad插件的自动加载

2022-06-24 09:45:45 3169

原创 C++ error C4146: 一元负运算符应用于无符号类型,结果仍为无符号类型?

项目属性->配置属性->C/C++->SDL检查,选测是或者否

2022-04-27 11:55:48 894

原创 关于Revit.ini以及其对revit的选项功能和历史记录等的作用

1、如果尚未在计算机上启动 Revit,请执行以下操作:为当前位于 UserDataCache 文件夹中的 Revit.ini 文件创建备份副本(C:\ProgramData\Autodesk\<产品和版本 >\UserDataCache)。 将自定义的 Revit.ini 文件复制到 UserDataCache 文件夹。 启动Revit。启动软件时,UserDataCache\Revit.ini 将复制到用户配置文件夹2、如果已经在计算机上启动 Revit,请执行以下操作:退出.

2022-04-20 12:31:02 637

原创 C++ 关于异常捕获的槽点

本来想要一个像.net那样的异常捕获try{}catch(Exception ex){//"几乎能够捕获各种异常,只需要将ex里面的信息写到日志里面就行了,看看日志就知道问题大概在哪里"};感觉.net还是挺方便的与是相当然的想在C++的项目里也这样做,然后发现事实并不行。首先,C++里面的异常类关系是这样的详细的说明可以看菜鸟教程,我经常看。哈哈哈哈。C++ 异常处理 | 菜鸟教程我的目的就是把异常写到本地日志,所以我就不关心这么多继承了,直接使用基类std::exception;.

2022-04-15 11:55:56 676

原创 VC++ 获取Revit元素的几何信息

可能需要用到的头文件:#include "BmElement.h";#include "BmElement.h";#include "BmGElement.h";#include "BmGeometry.h";#include "BmGInstance.h";#include "BmFace.h";#include "BmEdge.h";1、首先拿到元素,这里就不介绍了另写一篇关于过滤器获取元素的。OdBmElementPtr elem;2、获取GeometryOdBmObjectPtr p

2022-04-14 19:46:07 782 1

原创 C++ 关于extern 全局变量的应用

1、extern 可以实现在A.cpp使用另一个B.cpp中的全局私有变量2、首先在B.cpp中定义一个全局私有变量 int BValue=10;3、在A.cpp中 声明extern int BValue;4、在A.cpp的方法中可以使用BValue,发现是有值的。5、在C.cpp中也可以声明extern int BValue;然后在C.cpp中使用。extern在这里起的作用是告诉编译器,你这个BValue已经在某个.cpp(B.cpp)中已经定义了,这里只不过是声明一下有这个

2022-04-14 16:20:33 3842

原创 C++ 如何获取是被哪个方法调用的?

1、添加#include <cstdio>2、char* callerFunName = __builtin_FUNCTION();获取被调用的方法的名称

2022-04-14 12:10:51 1285

原创 C++ 利用宏实现枚举值转字符串

1、先定义枚举enum { A, B, C, D};2、定义宏#define ABCD_VALUES \ X(A) \ X(B) \ X(C) \ X(D)3、枚举转字符串,注意里面的宏名称ABCD_VALUES的使用const char* ABCDenumToString(int n) {#undef X#define X(x) case (x): { return #x; }#define MAKE_ENU

2022-04-14 12:03:24 1965

原创 C++ 字典表 map

1、头文件#include <map>2、声明std::map<std::string, vector<int>> MyMap;3、判断字典表中是否存在key,如果存在则为value添加值,否则为map添加键值对std::map<std::string, vector<int>>::iterator pair=myMap.find("这是key"); if (pair==myMap.end()) {//不存在

2022-04-13 11:22:16 430

原创 C++ String 的一系列操作,截取,格式化等

1、判断string中是否包含某个字符串 int r = name.find("要找的字符串"); if (r != -1) { //包含; }

2022-04-13 11:16:23 599

原创 C++ 集合 vector 提示未定义标识符

1、添加头文件#include <vector>2、进行集合的声明vector<int> shuzu;如果有提示未定义标识符,需要添加using namespace std; 将这句添加到#include的下面一行3、开始使用添加元素:shuzu.push_back(1);//注意类型要匹配访问:shuzu[n];//通过下标访问...

2022-04-13 10:26:56 4908

原创 WPF 获取TextBlock或者TextBox的内容像素宽度(Width)

1、首先获取DPI,系统的显示缩放影响WidthdpiInfo = VisualTreeHelper.GetDpi(this);2、根据文字的字体、大小等等因素获取像素宽度var formattedText = new FormattedText("文本值", System.Globalization.CultureInfo.InvariantCulture, FlowDirection.LeftToRight, ...

2022-04-11 14:23:09 1412

原创 获取revit窗口的尺寸以及角点坐标值

1、先获取revit句柄IntPtr RevitHandle=Autodesk.Windows.ComponentManager.ApplicationWindow;需要添加AdWindows.dll的引用。2、根据句柄获取窗口尺寸数据[DllImport("user32.dll")] [return: MarshalAs(UnmanagedType.Bool)] static extern bool GetWindowRect(IntPtr hWnd, re...

2022-04-07 18:09:39 393

原创 Revit 2020开始新增了对停靠面板的最小宽度的设置

DockablePaneProviderData 中的InitialState.MinimumWidth属性可以控制DcokablePanel的最小宽度,但是需要注意当前系统的DPI。根据DPI值计算宽度更适配性好。很可惜的是2019及以下的版本没有这个api。

2022-04-07 18:04:34 251

原创 WPF 自定义控件中的模板绑定cs代码实现

在listbox中添加checkbox成员并对checkbox进行动态绑定xaml代码比较简单,只有一个listbox<ListBox x:Name="m_listBox" MaxHeight="300" Margin="0,2,0,0"> </ListBox>下面是cs代码:1、创建一个checkboxCheckBox checkBox = new CheckBox(); var check...

2022-04-07 17:51:57 870

原创 WPF 常用控件样式

<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:local="clr-namespace:InterfaceDesign"> <Style x:Key="B.

2022-03-30 15:22:25 757

原创 WPF 圆球旋转来实现圆环进度条

前台:<!--设置圆的颜色--> <UserControl.Resources> <SolidColorBrush Color="#f89437" x:Key="CirclesColor"/> </UserControl.Resources><StackPanel HorizontalAlignment="Center" VerticalAlignment="Center"> &

2022-03-30 11:54:09 747

原创 定时器 定时刷新页面上的数据等

#region 定时器 System.Timers.Timer timer = null;//定时器 定时刷新页面上的数据 /* 启动*/ void starttime() { if (timer == null) timer = new System.Timers.Timer(); timer.Enabled = false; time...

2022-03-23 09:47:59 697

原创 Blender基本操作

下载地址,移步官网 https://www.blender.org/1、如果改变原点位置Blender中新建的物体默认原点为中心点。如果想改变物体原点,需要首先在“编辑模式”双击高亮选中想作为新原点的点,Shift+S选择“游标->选中项”,如下图。之后切换到“物体模式”(可通过Tab来切换工作模式),设置原点,如下图:2、设置物体属性位置、旋转、缩放、尺寸等设置,快捷键n 显示下图参数界面:此处,设置尺寸缩放值也会跟着改变,我们通过ctrl+A之后选择“...

2021-12-01 14:50:27 3346

原创 二叉树与其排序算法思路

1、首先,介绍一下这个二叉树。拿到一组需要排序的数据之后需要将其构建到一颗二叉树上。此二叉树的特点:a、二叉树嘛所以是 根节点下有左节点和右节点这两个叉。b、左节点<=根节点<右节点2、构建好二叉树之后采用中序遍历(左 根 右)进行二叉树的遍历获取排序后的结果。方法:采用递归找到左节点的左节点,一直找下去直到没有左节点。然后按照 左 根 右的顺序输出结果,即一个从小到大的排序了。有空再上代码,思路还是比较简单的。...

2020-12-23 10:54:16 454

原创 python 列表循环 [i for i in array[0:] if i>2]在快速排序中的使用

1、[1,2,36]这个在python叫做列表并且列表支持print和+运算即:array=[1,5,7]+[6,8,2]priint(array) 结果为[1, 5, 7, 6, 8, 2]2、[i for i in array[0:] if i>2]此为一个高效的循环判断并形成一个新的列表即:从列表array的第0个元素开始判断是否大于2,如果大于2则放到一个新的列表中。print([i for i in array[0:] if i>2])的结果为[5, 7, 6,.

2020-12-23 10:14:53 3139

原创 C#异步调用、异步回调

1、使用委托的BeginInvoke和EndInvoke实现异步。public delegate string ShowName(); static void Main(string[] args) { ShowName showName = new ShowName(() => { Console.WriteLine("开始起名字"); Thread.Sleep(3000); Console.WriteLine("名字起好了"); ret

2020-12-22 22:13:57 2240

原创 python 连接查询mysql数据库并解决查询结果输出后中文ascii格式的问题

首先引入pyMysql Package然后上代码:#!/usr/bin/python# -*- coding: UTF-8 -*-import pymysqlimport jsondef mysqlOpts(): #连接mysql数据库 db = pymysql.connect(host='localhost', port=3306, user='root', passwd='allen', db='testDB', charset='utf8') cursor=

2020-12-18 22:54:28 455 1

原创 安装mySql的一步步

下载mysql的安装包并解压到你想要将它安装的位置使用管理员权限打开cmd并定位到mysql的bin目录,我的bin目录为D:\mysql8.0.22\mysql-8.0.22-winx64\bin安装:mysqld --install初始化:mysqld --initialize --console初始化成功后在最后面会给一个默认的登录密码开启服务:net start mysql登录:mysql -u root -p修改密码:alter user 'root'@'local

2020-12-18 21:36:53 54 1

原创 C# web 服务端如何防止被频繁访问攻击的参考方法之一

时间戳、key、验签加密(时间戳+key)=验签只有客户端和服务器端知道验签的加密方式以及key。客户端首先使用key对时间戳进行加密生成验签,然后将时间戳和验签发给服务端。服务端拿到时间戳之后将其用key进行加密比对验签。如果正确则继续比对时间戳是否与上次访问的时间间隔合法。1、如果黑客修改了时间戳则可能造成验签不通过。因为黑客不知道如何对新的时间戳进行加密以获取新的验签。2、如果黑客不修改时间戳,则会因与上次访问时间间隔不合法而拒绝后面的操作。...

2020-12-13 21:30:01 589 1

原创 C# lock递归

public void test(int i) { lock(this) { if (i > 10) { i--; test(i); } } }上述代码不会发生死锁,因为 同一个线程可以递归调用lock语句。

2020-12-12 21:02:46 372 1

原创 C# GC

1、GC 垃圾回收器2、可以让程序员从复杂的内存问题中解放出来干点别的事情,也减少了程序员因为处理内存所带来的各种bug。减少模块间的耦合。提高效率。3、GC就是看某个对象是否被引用,如果没有被引用则将其收回。4、比较常见的回收算法有Reference Counting,Mark Sweep,Copy Collection。...

2020-12-12 11:15:55 79

原创 webService和WebApi的区别

1、webservice基于简单对象访问协议Simple Object Access Protocol(soap),XML传输消息,只能部署在IIS上。2、webApi为简单的HTTP新框架,合适构建移动客户端服务。3、webService用于内部通信服务较好,webApi用于外部服务请求较好。4、Response可以被Web API的MediaTypeFormatter转换成Json、XML 或者任何其他的格式。5、soap它描述了一种在分散或分布式的环境中如何交换信息的轻量级协议。soa

2020-12-10 21:55:54 12842

原创 分布式应用程序交互之WebService

1、创建web应用程序然后添加web服务。2、web服务中需要被调用的方法需要加[WebMethod特性]例如:[WebMethod(Description = "输出HelloWorld")]3、发布:配置文件-自定义;连接:File System 文件发布路径(path):指定一个,这个就是后面做网站时需要要到的。4、安装IIS添加网站:自定义网站名称,设置物理路径即path;设置Ip地址和端口号。确定完成。5、网站访问的错误与解决办法:500.19:文件访问权限不够。500..

2020-12-10 11:09:09 166

原创 我的泛型

1、泛型是延迟声明类型,定义的时候没有指定类型,调用的时候才指定参数类型。2、相对于使用object类型的参数,不用总装箱和拆箱。3、基类约束:where T:Car 即T必须是Car的派生类。4、接口约束:where T:ICar 即T必须实现ICar接口或者就是ICar接口,可以有多个接口约束。public class List<T> : IList<T>, ICollection<T>, IList, ICollection, IReadO..

2020-12-10 09:37:38 101

原创 事件即对委托的封装

大神们不喜勿喷,仅个人理解学习使用。事件是对委托的封装。同样,事件也和委托一样具有多播特性(所谓多播就是可以绑定多个方法,触发时顺序调用绑定的这多个方法),可以绑定多个方法。下面做一个鼠标点击的事件:public delegate void MouseClickDelegate(); public class MouseA { public event MouseClickDelegate MouseClickEvent; public voi

2020-12-09 23:09:21 232

Microstation addins二次开发向导包

Microstation addins二次开发向导包

2017-07-03

生成二维码所需的dll

生成二维码所需的dll

2017-02-06

查询字符ascii

这是一个非常小巧并无需安装可以直接使用的查询输入字符的ascii

2012-07-18

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除