自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(226)
  • 资源 (54)
  • 收藏
  • 关注

原创 开源LitCAD:一个使用C#编写的非常简易的CAD小程序。

开源LitCAD源码为了探究CAD软件的基本原理,本人写了一个非常简易的CAD小程序。现将该套代码在Github上开源。地址:https://github.com/wangyao1052/LitCAD该源码遵循MIT开源协议。...

2018-10-01 17:26:42 16086 13

原创 Pro/TOOLKIT注册文件

想要Pro/E加载同步模式的Pro/TOOLKIT程序,需要用到注册文件。 注册文件包含Pro/TOOLKIT应用程序的路径,text文件夹的路径等信息,Pro/E通过注册文件中包含的信息,找到Pro/TOOLKIT程序并加载。 以下是一个典型的注册文件的示例: name Test_wf5 startup dll exec_file C:\Test_wf

2018-01-21 16:36:31 6564

原创 Pro/TOOLKIT示例程序(十五)Mapkey(映射键)

Pro/TOOLKIT并不能完全实现Pro/E的所有功能。 对于Pro/TOOLKIT没有提供API接口的功能,就需要使用Mapkey来实现。 你可以先录制一段Mapkey,然后调用ProMacroLoad执行Mapkey。 在Wildfire5下录制Mapkey的步骤: 【工具】->【映射键】 录制完成之后,可以通过【保存】查看Mapkey的伪代码。示例:修改工程图所有尺寸的箭

2018-01-21 16:32:14 2374

原创 Pro/TOOLKIT示例程序(十四)特征元素树

Pro/TOOLKIT创建特征时需要用到特征元素树。 特征元素树是用树状的结构形式来表达定义某个特征时所需的全部信息。 基于参照面偏移一定距离创建基准面的代码如下:static ProError UserElemtreeElementAdd( ProElement parent_element,    ProElement child_element,    ProValu

2018-01-21 16:22:10 2267

原创 Pro/TOOLKIT示例程序(十三)UDF

以下示例演示怎样使用Pro/TOOLKIT插入UDF。 示例中的UDF通过选择一个基准点来创建一个孔特征,可以指定孔的直径和孔的深度。// 示例:插入UDFint TestUDF(uiCmdCmdId command, uiCmdValue *p_value, void *p_push_command_data){

2018-01-21 16:06:04 1682

原创 Pro/TOOLKIT示例程序(十二)组装

知识点Pro/TOOLKIT的组装流程如下: 1. ProAsmcompAssemble 将元件模型组装到组立档案中,此时不包含任何约束。ProError ProAsmcompAssemble( ProAssembly owner_assembly, // 组立档案 ProSolid component_model, // 待组装的元件模型 ProM

2018-01-21 15:39:37 4399 6

原创 Pro/TOOLKIT示例程序(十一)获取组立档的层次结构

在Pro/TOOLKIT中,类型ProAssembly表示组立档,而组立档下的元件,则用ProAsmcomp表示。typedef struct pro_model_item{ ProType type; int id; ProMdl owner;} ProAsmcomp;ProAsmcomp和ProModelitem共用相同的数据结构,更确切地说,ProAs

2018-01-21 15:04:01 2220 2

原创 Pro/TOOLKIT示例程序(十)尺寸ProDimension

尺寸ProDimension在Pro/TOOLKIT中,类型ProDimension用来表示尺寸。定义如下:typedef struct pro_model_item{ ProType type; int id; ProMdl owner;} ProDimension;ProDimension和ProModelitem共用相同的数据结构。type:

2018-01-21 14:53:17 1455

原创 Pro/TOOLKIT示例程序(九)参数ProParameter

在Pro/TOOLKIT中,类型ProParameter用来表示参数。typedef struct proparameter{ ProType type; // 值为PRO_PARAMETER ProName id; // 参数名 ProParamowner owner; // 参数的所有者} ProParameter;

2018-01-14 19:51:57 2836 1

原创 Pro/TOOLKIT示例程序(八)获取几何元素:面

在Pro/TOOLKIT中,类型ProSurface表示面。ProSurface和ProGeomitem之间可以相互转换:ProSurface -> ProGeomitem:ProSurfaceToGeomitemProGeomitem -> ProSurface:ProGeomitemToSurfaceProSurfaceTypeGet用于获取面的类型,面的类型有以下几种:P

2018-01-14 15:59:09 1992 4

原创 Pro/TOOLKIT示例程序(七)获取几何元素:边

在Pro/TOOLKIT中,类型ProEdge表示边。ProEdge和ProGeomitem之间可以相互转换:ProEdge -> ProGeomitem:ProEdgeToGeomitemProGeomitem -> ProEdge:ProGeomitemToEdgeProEdgeTypeGet用于获取边的类型,边的类型有以下几种PRO_ENT_LINE:直边。PRO_EN

2018-01-14 15:45:48 1263

原创 Pro/TOOLKIT示例程序(六)获取几何元素:坐标系

在Pro/TOOLKIT中,类型ProCsys表示坐标系。ProCsys和ProGeomitem之间可以相互转换:ProCsys -> ProGeomitem:ProCsysToGeomitemProGeomitem -> ProCsys:ProGeomitemToCsys函数ProGeomitemdataGet用于获取坐标系的数据,注意在用完之后要调用ProGeomitemdata

2018-01-14 15:41:14 1124

原创 Pro/TOOLKIT示例程序(五)获取几何元素:基准轴

在Pro/TOOLKIT中,类型ProAxis表示轴。ProAxis和ProGeomitem之间可以相互转换:ProAxis -> ProGeomitem:ProAxisToGeomitemProGeomitem -> ProAxis:ProGeomitemToAxis函数ProGeomitemdataGet用于获取轴的数据,注意在用完之后要调用ProGeomitemdataFree

2018-01-14 15:38:20 944

原创 Pro/TOOLKIT示例程序(四)获取几何元素:基准点

在Pro/TOOLKIT中,类型ProPoint表示基准点。ProPoint和ProGeomitem之间可以相互转换:ProPoint -> ProGeomitem:ProPointToGeomitemProGeomitem -> ProPoint:ProGeomitemToPoint函数ProPointCoordGet用于获取基准点的坐标值。 示例代码:// 获取基准点的

2018-01-14 15:32:57 1219 3

原创 Pro/TOOLKIT示例程序(三)选择集ProSelection

Pro/TOOLKIT提供了ProSelect函数来让用户交互选择对象。ProSelect( char option[], // 过滤字符串,多个过滤项之间用逗号分隔(如"feature,surface") int max_count, // 最多可以选择的数量,­1表示不限数量 ProSelection

2018-01-14 15:24:07 2392 1

原创 Pro/TOOLKIT示例程序(二)遍历模型下的所有特征

特征的基本概念Pro/E是基于特征的参数化造型系统,在模型树上的每个项目都是特征。如下图所示: 该档案有3个基准面、1个坐标系、1个拉伸、1个孔共6个特征。 我们可以通过配置【树列】选项来查看特征的信息。 特征是对Pro/E模型中几何元素的一层封装。就好比你是负责指挥战争的司令官,你只会下达这样的命令:X师、Y师去攻打敌军的哪个部队,而不会详细到X师、Y师下的具体成员。特征就

2018-01-14 13:44:19 5171 2

原创 Pro/TOOLKIT示例程序(一)模型和模型项

模型和模型项模型:ProMdl在Pro/TOOLKIT中,由类型ProMdl代表模型。ProMdl本质上是void类型指针,定义如下:typedef void* ProMdl;Pro/E中有哪些类别的模型呢?可以在新建模型对话框中看出: ProMdlCurrentGet:获取当前模型。ProMdlTypeGet:获取模型的类型。ProMdlDataGet:获取模

2018-01-14 13:21:37 4172 3

原创 Pro/TOOLKIT开发之前你需要了解的字符串知识

在C++中存在两种类型的字符:charwchar_tchar为ANSI编码,一个char字符占用一个字节。 wchar_t为UNICODE编码,一个wchar_t占用两个字节,我们常称wchar_t为宽字符。 如何定义char与wchar_t的数组变量:char str[] = "123";wchar_t wstr[] = L"123";注意:在字符串常量之前加L表

2018-01-14 13:09:53 1409

原创 如何调试Pro/TOOLKIT程序

调试方法附加到Pro/E进程:在Visual Studio中,点击【工具】->【附加到进程】菜单项,快捷键为【Ctrl + Alt + P】。 在弹出的【附加到进程】对话框中,选择进程:xtop.exe。然后单击【附加】按钮即可。 注:xtop.exe为Pro/E进程。在要调试的代码处打断点,快捷键为F9。执行Pro/TOOLKIT程序即可进行调试。Release版本如

2018-01-13 18:15:02 1918

原创 启动Pro/TOOLKIT程序的常见错误及解决办法

一、发生读取错误’No such file or directory’ 错误原因:注册文件(一般为protk.dat)中exec_file指定的dll路径不正确。 解决办法:将注册文件中exec_file指定的路径修改正确。 可以通过【辅助应用程序窗口】查看路径信息。 二、应用程序启动失败 造成这种错误的原因有很多种:1、32位Pro/E加载了64位的Pro/TO

2018-01-13 18:09:09 31398 5

原创 Pro/TOOLKIT注册文件

想要Pro/E加载同步模式的Pro/TOOLKIT程序,需要用到注册文件。 注册文件包含Pro/TOOLKIT应用程序的路径,text文件夹的路径等信息,Pro/E通过注册文件中包含的信息,找到Pro/TOOLKIT程序并加载。 以下是一个典型的注册文件的示例: name Test_wf5 startup dll exec_file C:\Test_wf

2018-01-13 18:01:38 3811

原创 手把手教你开发Pro/TOOLKIT应用程序(三)

请先阅读: 手把手教你开发Pro/TOOLKIT应用程序(一) 手把手教你开发Pro/TOOLKIT应用程序(二)这篇主要讲解第一篇中Pro/TOOLKIT代码的具体含义。Line 1~12包含Pro/TOOLKIT常用的头文件。Line 15~24函数声明。Line 26~55 user_initializeuser_initialize为Pro/TO

2018-01-13 17:57:58 3712 2

原创 手把手教你开发Pro/TOOLKIT应用程序(二)

请先阅读:手把手教你开发Pro/TOOLKIT应用程序(一) 在编写信息文件前,首先在工程文件夹下新建Bin文件夹,然后将第五步生成的test_wf5.d ll拷贝到Bin文件夹下。六、编写信息文件信息文件是用来定义Pro/TOOLKIT程序菜单及菜单项显示信息的文本文件。其内容以四行为一组,每行代表的意义如下: * 菜单或菜单项的名称 * 菜单或菜单项的英文显示 * 菜单或

2018-01-13 16:42:15 6823 6

原创 手把手教你开发Pro/TOOLKIT应用程序(一)

前言本教程采用VS2008 + Pro/E Wildfire5.0来讲解怎样开发Pro/TOOLKIT应用程序。 开发Pro/TOOLKIT应用程序时,Pro/E和Visual Studio的版本需对应,否则很难搭建开发 环境,其对应关系如下: * Wildfire 4.0 * Wildfire 5.0 * Creo 1.0 * Creo 2.0 本教程所述的方法完全适用于Wil

2018-01-13 16:22:30 14380 6

原创 Pro/TOOLKIT编程技巧:查找Pro/TOOLKIT示例代码

在进行Pro/TOOLKIT编程时,我们常常对某些API函数不知道如何使用。 这时我们可以参照Pro/TOOLKIT提供的示例代码。 可以通过Visual Studio的【查找和替换】功能搜索Pro/TOOLKIT的示例代码。 如下图所示: 我们在Pro/TOOLKIT提供的示例代码中,搜寻ProUdfCreate。

2018-01-13 15:57:40 1286 1

原创 Pro/TOOLKIT帮助文档的使用

Pro/TOOLKIT提供了比较详细的帮助文档:【Pro/E安装目录】\protoolkit\protkdoc\IE Swing.html。可以直接在浏览器中打开,如果无法打开,请参看本文后面的解决方法。 用好帮助文档是进行Pro/TOOLKIT开发的关键。 帮助文档的使用我们可以通过【Find】按钮进行模糊或精确查找。(如下图) 或者将类别切换到【User Guide】模

2018-01-13 15:52:28 4839 1

原创 Pro/E Wildfire5.0二次开发环境配置

编译器:VS2008头文件路径:【Pro/E安装目录】\prodevelop\includes 【Pro/E安装目录】\protoolkit\includes库文件路径:32位: 【Pro/E安装目录】\prodevelop\i486_nt\obj 【Pro/E安装目录】\protoolkit\i486_nt\obj64位: 【Pro/E安装目录】\prodevel

2018-01-13 15:47:17 1606

原创 Pro/E Wildfire4.0二次开发环境配置

编译器:VS2008头文件路径:【Pro/E安装目录】\prodevelop\includes 【Pro/E安装目录】\protoolkit\includes库文件路径:32位: 【Pro/E安装目录】\prodevelop\i486_nt\obj 【Pro/E安装目录】\protoolkit\i486_nt\obj64位: 【Pro/E安装目录】\prod

2018-01-13 15:41:36 630

原创 Pro/E Wildfire3.0二次开发环境配置

编译器:VS2005一、新增头文件路径Tools->Options->Projects and Solutions->VC++ Directories->Include files [Pro/E安装路径]\protoolkit\includes [Pro/E安装路径]\prodevelop\includes [Pro/E安装路径]\protoolkit\protk_appls\i

2018-01-10 23:12:09 1139

原创 Creo2.0二次开发环境配置

编译器:VS2010头文件路径:【Creo安装目录】\Common Files\【版本号】\prodevelop\includes 【Creo安装目录】\Common Files\【版本号】\protoolkit\includes 示例:C:\PTC\Creo 2.0\Common Files\M050\protoolkit\includes库文件路径:32位: 【Cr

2018-01-10 22:58:09 3402

原创 Creo1.0二次开发环境配置

编译器:VS2010头文件路径:【Creo安装目录】\Common Files\【版本号】\prodevelop\includes 【Creo安装目录】\Common Files\【版本号】\protoolkit\includes 示例:C:\PTC\Creo 1.0\Common Files\M050\protoolkit\includes库文件路径:32位: 【Cr

2018-01-10 22:51:58 1075 1

翻译 矩形区域与圆心区域的碰撞检测

这是一篇关于矩形与圆形区域碰撞检测的文章。虽然这常常被认为很复杂,但实际上却相当简单。首先,你也许知道怎样检测圆与点是否碰撞:测试圆心与点的距离是否小于等于圆的半径。DeltaX = CircleX - PointX;DeltaY = CircleY - PointY;return (DeltaX * DeltaX + DeltaY * DeltaY) 其实,矩形与圆的碰撞检测

2018-01-07 21:24:21 949

原创 AutoCAD .Net 获取用户输入——GetKeywords

GetKeywords用于让用户输入关键字,示例用法如下:Document doc = Application.DocumentManager.MdiActiveDocument;PromptKeywordOptions options = new PromptKeywordOptions("\n请输入关键字: ");options.Keywords.Add("Circle", "Circle"

2018-01-01 11:55:08 2894

原创 AutoCAD .Net 获取用户输入——GetString

GetString用于让用户输入字符串,示例用法如下:Document doc = Application.DocumentManager.MdiActiveDocument;PromptStringOptions options = new PromptStringOptions("\n请输入字符串: ");options.AllowSpaces = true;PromptResult re

2018-01-01 11:25:46 1626

原创 AutoCAD .Net 获取用户输入——GetPoint

GetPoint用于让用户指定点,示例用法如下:Document doc = Application.DocumentManager.MdiActiveDocument;PromptPointOptions options = new PromptPointOptions("\n请指定点: ");PromptPointResult result = doc.Editor.GetPoint(opt

2018-01-01 10:52:24 2901

原创 AutoCAD .Net 获取用户输入——GetAngle

GetAngle用于让用户指定角度值Document doc = Application.DocumentManager.MdiActiveDocument;double angle = 0.0;PromptAngleOptions options = new PromptAngleOptions("\n请指定角度: ");options.UseBasePoint = true;option

2017-12-30 16:20:30 1363

原创 AutoCAD .Net 获取用户输入——GetDistance

GetDistance用于让用户指定距离值Document doc = Application.DocumentManager.MdiActiveDocument;double value = 0.0;PromptDistanceOptions options = new PromptDistanceOptions("\n请指定距离: ");options.BasePoint = new Po

2017-12-29 22:52:04 919

原创 AutoCAD .Net 获取用户输入——浮点型数值

GetDouble的用法示例Document doc = Application.DocumentManager.MdiActiveDocument;double value = 0.0;PromptDoubleOptions options = new PromptDoubleOptions("\n请输入浮点数: ");options.AllowNone = true;options.De

2017-12-29 22:06:11 774

原创 AutoCAD .Net 获取用户输入——整型数值

AutoCAD .Net中的Editor类提供了各种获取用户输入的方法,常用的有: * GetInteger 获取整型数值 * GetDouble 获取浮点型数值 * GetDistance 获取距离值 * GetAngle 获取角度值 * GetPoint 获取坐标点 * GetString 获取字符串 * GetKeywords 获取关键字

2017-12-24 22:12:39 2040

原创 AutoCAD .Net 外部参照 XRef

在 AutoCAD 中,可以通过 xref 命令来创建外部参照。那外部参照在 AutoCAD 数据库中是如何存储的呢?我们如何通过程序来获取外部参照? 1、外部参照是以块表记录(BlockTableRecord)的形式存储在 AutoCAD 的模型空间块表中的。 2、BlockTableRecord 中的属性 IsFromExternalReference 为 true 时,表明该块表记录为外部

2017-12-17 10:15:18 2854

Django1.5.1

Django1.5.1安装包

2013-06-13

Windows用户态程序高效排错

Windows用户态程序高效排错

2013-04-16

VisualStudio快捷键

VisualStudio快捷键

2013-02-03

MFC单文档应用程序实例

MFC单文档应用程序实例

2013-01-30

VS常用快捷键

Visual Studio常用快捷键

2013-01-29

【ProToolkit范例之五】输出Asm的架构

【ProToolkit范例之五】输出Asm的架构

2013-01-14

创建udf孔特征

创建udf孔特征

2013-01-03

【ProToolkit范例之四】创建udf

【ProToolkit范例之四】创建udf

2013-01-03

【ProToolkit范例之三】遍历模型下的所有Feature

【ProToolkit范例之三】遍历模型下的所有Feature

2012-12-30

Dll范例程序【之一】

Dll范例程序【之一】

2012-12-22

【ProToolkit范例之二】显示当前模型名称_code

【ProToolkit范例之二】显示当前模型名称_code

2012-12-22

【ProToolkit范例之一】加载菜单_Code

【ProToolkit范例之一】加载菜单_Code 【ProToolkit范例之一】加载菜单_Code

2012-12-22

MFC TabCtrl控件Demo

MFC TabCtrl控件Demo

2012-12-10

带ICON的自绘ListBox

带ICON的自绘ListBox

2012-11-17

带Icon的自绘PushButton

带Icon的自绘PushButton

2012-11-14

带Icon的自绘PushButton示例

带Icon的自绘PushButton示例

2012-11-14

自绘和MFC Push Button一样的按钮

WM_DRAWITEM自绘和MFC Push Button一样的按钮

2012-11-11

C++读书笔记

C++读书笔记

2012-10-15

WM_NOTIFY消息流程实例分析

WM_NOTIFY消息流程实例分析---对应博客代码

2012-10-10

可编辑子项的ListCtrl (ComboBox与EditBox)

可编辑子项的ListCtrl (ComboBox与EditBox)

2012-09-28

命名管道服务

命名管道服务

2012-09-12

MyC++Notes

MyC++Notes

2012-08-25

C++滑块斜销

C++滑块斜销

2012-08-06

ProArray示例

Toolkit ProArray 示例

2012-07-25

C++笔记——iNotes

C++笔记——iNotes

2012-05-17

Network speed monitor_V1.0

Network speed monitor_V1.0 监控Http Ftp 速度

2012-04-24

WinPcap开发实例监控本地网速

WinPcap开发实例监控本地网速

2012-04-22

WinPCAP4.1.1

WinPcap4.1.1程序开发包

2012-04-22

Rational源码

Boost Rational 源码

2012-04-08

Boost技术与应用(侯捷)

侯捷有关Boost安装与源码分析的文章集锦 非常经典

2012-04-08

wf4_test测试

wf4_test

2012-04-02

ProToolkit教材_WangYao版.7z

ProToolkit教材_WangYao版.7z

2012-03-30

Visual C++ 运行库

Visual C++ 运行库个人总结

2012-03-28

OpenGL安装文件

OpenGL Windows下配置环境dll&lib;文件 OpenGL Windows下配置环境dll&lib;文件 OpenGL Windows下配置环境dll&lib;文件 OpenGL Windows下配置环境dll&lib;文件

2012-03-08

C++NOTES

C++NOTES

2012-03-05

C++ iNotes

C++资源汇总

2012-03-02

type casting

type casting 英文文档

2012-02-28

C++ STL模板编程

C++ STL模板编程

2012-02-15

PHP安装包文件

PHP安装包

2012-02-05

Pro/Toolkit组装程序

Pro/Toolkit组装程序 将ProE模型组装在一起

2011-12-07

空空如也

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

TA关注的人

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