自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

如是道程序人生

能自动化完成的事情绝不简单重复做

  • 博客(20)
  • 资源 (1)
  • 收藏
  • 关注

原创 Eplan P8 二次开发中的命令行(Command Line)

一、目的一直想找个机会说说Eplan P8中的命令行(Command Line),毕竟这一块无论对Eplan API的二次开发,脚本(Script)开发,甚至是日常使用Eplan,都还是蛮有用的。二、Eplan P8 Command Line命令行打开一个命令行窗口(cmd),通常情况下在windows里可以使用快捷键Win+R(Windows是不区分大小写的), 然后输入cmd后回车,就可以打开一个命令行窗口。但是,你不能直接在打开的命令行窗口中直接输入Eplan.exe, 因为系统无法识别这个命

2021-07-07 16:40:15 1974 1

原创 C#通过CLR Wrapper 成托管方式调用C++编写的动态链接库

一、目的C#确实在工控行业用的很多,各种大型自动化开发平台越来越多的基于.net桌面应用的开发,但无论是winform还是WPF,速度真的是个问题,比如西门子的TIA-Portal,安装文件动辄几十G,配置稍微低的电脑运行起来卡顿的要吐血几斗。大型工控程序,还是用C/C++或其他同效率的语言开发吧!本文主要记录一下C#最简单的调用C++编写的动态库的一种方式,也是本人常用的一种方式,把核心逻辑用C/C++封装成DLL,然后基于CLR给这些DLL再做一个封装后,直接供C#使用,这样做,还有一个目的,就是

2021-06-12 09:39:35 2031 1

原创 Eplan P8 API二次开发---再谈如何获取当前打开的项目

一、缘起本博之前讲了如何获取当前Eplan打开项目的两种主要方式,可能描述过于简略,容易引起无解,故本文重新针对Eplan P8 API 如何获取Eplan当前打开项目做更深入一点儿的解释。二、使用Project Manager命名空间using Eplan.EplApi.DataModel下的Project Manager类中包括如下方法及属性,可以获取到当前项目://获取当前项目的方法public Project GetCurrentProjectWithDialog()public Pro

2021-06-02 19:11:15 2135

原创 C# 调用Win32 API的工具类

一、目的日常C#进行工控桌面应用程序开发过程中,不可避免的需要调用Win32 API, 每次都一番搜索之后,可能找到一个C描述的函数原型,还要进行转换,不少时候因为粗心敲错一个字母,自己给自己挖一个大坑。所以,在大量用到Win32 API的时候,我宁愿通过C/C++写个DLL,再用CLR Wapper成托管的库,供C#调用,不过一番折腾,也挺费劲的,前几天还是搜肠刮肚,包括借鉴网上的一些资源,搞了个C#的WIN32 API调用的静态库工具类。方便自己,也方便Everyone!二、直接上代码了usin

2021-05-29 10:38:08 768

原创 Eplan P8 API Addin二次开发之事件处理

一、目的在实际Eplan P8 API Addin二次开发中,可能会用到大量的事件处理,所以,可以在本博之前博文(如下链接)的基础上,继续丰富之前的开发框架,在VS相应的项目下创建一个EplanEventHandler文件夹,专门处理相应的Eplan事件。https://blog.csdn.net/zhshspark/article/details/116831152?spm=1001.2014.3001.5501本文将对Eplan P8 API二次开发中事件的使用做简要说明二、Eplan P8

2021-05-22 11:15:31 1157

原创 Eplan Electric P8 Addin API开发---怎样更好的测试和调试

一、目的基于之前本博发的Eplan Electric P8 Addin API开发框架,开发了一个DLL后,通过Eplan进行直接加载,但是加载之后,如果测试功能有问题,需要重新修改代码并再次生成DLL,这种情况,直接在Eplan里面通过卸载(Unload)当前DLL后再重新加载(Load)是不行的,因为Eplan在加载DLL已经在$(AppData\Roaming\EPLAN\ShadowCopyAssemblies)里Copy了一份DLL,重新加载时,并不会覆盖之前的版本,只有重启EPLAN,才能加载

2021-05-21 14:23:52 1820 4

原创 Eplan Electric P8 API二次开发之项目框架的搭建详解

一、目的本博之前写过几篇Eplan Electric P8 API二次开发的一些小的细节,诸如怎么获取当前打开的项目,怎么在当前页面中插入一个符号(Symbol)及功能(Function)等等。对怎么从头搭建一个Eplan Electric P8 API开发的Visual Studio框架,一直让读者自行百度,但本博主尝试百度后,关于这方面的描述也不是很详细,所以有必要通过本文进行一个详细的描述。二、前提条件本博使用的是Eplan Electric P8 2.9 + Visual Studio 201

2021-05-15 12:52:34 7289 6

原创 Eplan P8 API二次开发--对Function插入PropertyPlacement属性

1. 目的前面一篇博文已经讨论过如何使用Eplan P8 API 在页面中插入一个符号(symbol)功能(Function),插入符号(symbol)功能(Function)后,需要定义其各种属性,比如如下图中的显示属性, 包括技术特性参数(Technical characteristics) 和 功能文本(Function Text),怎么用Eplan P8 API自动插入呢?本文将实现这个目的2. 显示属性的Eplan P8 API 自动插入的实现这些显示属性是属于模型空间中的Property

2021-05-13 22:02:21 1257

原创 Eplan P8 API开发--->获取整个项目中的所有显示文本

一、目的一直困扰Eplan P8没有拼写检查(如果有知道的同行请告知一声),所以,准备把Eplan P8项目中的所有文本获取到,然后粘贴到Microsoft Office Word中进行拼写检查,Eplan P8图纸中经常有大量的缩写,特殊符号,所以Word的拼写检查会发现大量不是问题的问题,但可以很快速的点击忽略找到真正有问题的地方。二、实现方式1. Eplan P8项目文本显示窗体的添加在VS2019 .net 类库项目中添加一个窗体,(其他Eplan P8 API开发的基本步骤本文就不赘述了,

2021-05-09 17:57:10 1363 1

原创 一个HTA写的英文字母大小写转换小程序(2)

一、与前一个版本的不同将网页中的button标签换成了a标签,方便后续美化从网上找了关于限制页面缩放的代码,防止通过Ctrl+鼠标滚轮进行页面缩放防止通过页面最大化或拖动窗口边缘改变窗口大小二、代码main.hta<html><head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="ie=edge" /> <meta nam

2021-05-09 16:50:20 255

原创 一个HTA写的英文字母大小写转换小程序

HTA可以简单的使用HTML+JS(或VBS,但是,Edge浏览器已经不支持VBS了)写一个看似是桌面应用的网页程序。非常nice,虽然兼容性有些问题,但还是可以用的。以下代码可以作为一个框架,后续再附加其他功能,基于这种方式,几乎可以应用所有HTML5的特性,所有CSS进行美化。最终的效果是这样的,有待美化,应用CSS,可以随心所欲下面直接上代码了:main.hta文件<html><head> <meta charset="utf-8">

2021-05-06 21:30:02 230

原创 工控人必会的技能之VBA与VBS

一、引言作为工控人,无论你平常接触的PLC品牌是西门子(Siemens)、AB(Allen-Bradley)、倍福(Bechhoff)、贝加莱(B&R)、欧姆龙(Omron)、三菱(Mitsubishi), 甚或是国内的PLC品牌诸如信捷(XINJIE)、汇川(Inovance)等。 再有,无论你经常玩的是机器人品牌是ABB、发那科(Fanuc)、库卡(KUKA)、柯马(COMAU)、那智不二越(Nachi),还是其他国内外的小众品牌,在经历了学习初期的那种兴奋感之后,随着年龄的增长,一切终将归于

2021-05-05 20:38:04 1826 1

原创 Eplan P8 API二次开发--插入符号(Symbol)功能(Function)并定义属性

1、目的使用Eplan API在页中自动插入某个符号并按约定规则自动设置好属性2. 步骤一、基础信息比如要在Eplan中自动插入一个电机的符号并定制属性,我们先要确定要插入的符号名,可以在Eplan中获取如下符号(Symbol)信息可以知道我们待插入的符号名称为M3_1, 接下来,使用Visual Studio建立类库项目,并引用Eplan Api库二、获取符号变量(SymbolVariant)在Eplan中,当一个符号(Symbol)被插入到页中,这个符号的引用即变为一个(Function

2021-05-01 15:25:15 3248 1

原创 AutoCAD二次开发之删除图层及图层上所有的实体

可以通过调用如下方法进行删除 static public void EraseLayer(Document doc, Database db,List<string> listStrLayerName) { using (Transaction tr=db.TransactionManager.StartTransaction()) { //open layertable

2021-04-28 16:04:06 1244

原创 Eplan P8 API 二次开发---几种方式获取当前打开的项目

第一种–>使用ProjectManagerProject和ProjectManager类都需先使用命名空间using Eplan.EplApi.DataModel;可以使用方法GetCurrentProjectWithDialog获取当前正在打开的项目//如果当前Eplan打开了多个项目,则系统自动弹出对话框,供用户选择具体项目Project project = new ProjectManager().GetCurrentProjectWithDialog();也可以使用ProjectM

2021-04-25 21:07:44 1380

原创 AutoCAD C# 二次开发项目----批量替换块(5)

3. vbs捏合所有,实现一键替换一般来说,accoreconsole.exe位于AutoCAD的安装目录,因为本工具有可能会给不同的人员使用,有可能有的人使用AutoCAD2016,有的人使用AutoCAD2018,这样一来,即使默认AutoCAD都安装在C盘,路径也会不一样,所以,首先用vbs弹出一个输入框,由使用这输入AutoCAD版本,以方便找到accoreconsole.exe.另外,为了确保BatchCAD.scr不被其他人修改,我用vbs自动生成一个BatchCAD.scr.然后,此vb

2021-04-17 21:34:49 933 1

原创 AutoCAD C# 二次开发项目----批量替换块(4)

2.SCR文件的创建SCR文件是AutoCAD的命令脚本,可以组合各种命令,然后交由AutoCAD进行批处理执行。为了达到我这个项目的目的,我的这个SCR文件比较简单,创建一个BatchCAD.SCR文件,然后用记事本打开,添加如下代码;不保存bak文件ISAVEBAK 0;不接收命令反馈cmdecho 0;安全加载级别将至0SECURELOAD0;使用netload加载我之前开发的dllnetload"C:\Users\Admin\Desktop\File\CADSmart.dll

2021-04-17 21:07:52 741

原创 AutoCAD C# 二次开发项目----批量替换块(3)

三、AutoCAD Command命令的开发遵守AutoCAD的规范,并调用前面开发两个静态函数,在CADSmart.cs中添加如下代码: [CommandMethod("SmartReplaceBlock")] public void SmartReplaceBlock() { Database db = HostApplicationServices.WorkingDatabase; string sPat

2021-04-17 20:47:15 675

原创 AutoCAD C# 二次开发项目----批量替换块(2)

项目总体规划考虑到项目需求,决定采用AutoCAD中的Accoreconsole.exe+.Net Dll来实现,对Accoreconsole不太了解的同学可以自行百度,总之一句话,要想高效的批量处理dwg文件,这个AutoCAD控制台是必须要了解的。对AutoCAD进行批量处理,以愚人之见,就是如下三个步骤:用C#开发.net DLL程序,生成所有需要的AutoCAD命令(Command)。编写SCR指令文件,在SCR中使用netload加载以上DLL并处理需要的AutoCAD命令(Comman

2021-04-17 20:31:52 1814

原创 AutoCAD C# 二次开发项目----批量替换块(1)

项目描述本项目主要目的是解决工作中遇到的一个实际问题,代码可能很ugly,但是以实用为目的,本文对整个实现过程进行详细总结,希望能对有类似需求的朋友提供一个参考。本项目主要需要实现如下功能:可能有很多份AutoCAD .dwg图纸,希望替换这些图纸中的所有块参照(Block Reference),并保留原块中的某些属性,当然,要对块的具体形式进行判断。不用打开每份CAD图纸实现一键进行批量替换。为了更清晰的说明,特上传如下图片,很多份.dwg图纸中都包含类似如下的块参照(Block Refere

2021-04-17 19:18:31 1503

漂亮且完整的HTML5信息注册页面及后台实现

前一段时间做的一个小项目,前端HTML5页面,支持移动端和PC端不同的显示效果。 中英文各做了页面从而可以中英文切换。使用Ajax进行提交,通过Cookies防止用户多次提交,后台使用asp.net接受ajax请求,并将数据插入数据库,整个项目从前端到后台还是比较完整的,里面不含数据库,数据库可以震惊aspx里面的字段代码自行创建。前端借鉴了网上的模板。

2021-06-26

空空如也

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

TA关注的人

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