- 博客(47)
- 资源 (2)
- 收藏
- 关注
原创 ARX中CAcUiColorComboBox的用法
其实在开发ARX程序的时候,能用Adui和AcUi库就尽量用,还是非常方便的,尤其是对于数据容错检查,Tip 提示等方面更是方便。ARX程序中常用的就是设定实体颜色,让用户选择一个颜色最常用的方法就是用颜色下拉列表框,采用CAcUiColorComboBox来做是最快的。CAcUiColorComboBox用起来很简单,步骤如下:1. 在对话框或者其它界面上创建一个普通下拉列表框,设置
2013-01-18 13:46:37 1387
原创 OGRE Samples 在VS2005下编译所需环境
周六下载了OGRE VS2005版,首先想到的就是编译Samples来跟踪调试,编译过程中就碰到问题,折腾了半天终于搞定,特记录下来。1. 编译错误:Project : error PRJ0019: A tool returned an error code from "Performing Pre-Link Event..."这是在“SampleBrowser”模块中,在链接之前需要
2011-11-14 11:20:14 879 1
原创 add-in/plug-in framework
Sharpdevelop, Eclicpse, MEF(Microsoft's Managed Extensibility Framework). MEF的相关资料:http://blogs.msdn.com/kirillosenkov/archive/2008/06/07/mef-microsoft-s-managed-extensibility-framework.aspx(Vis
2009-06-02 10:43:00 513
原创 Cint Root OpenNurbs
http://root.cern.ch/drupal/content/cinthttp://www.opennurbs.org/background.htmhttp://www.scintilla.org/
2009-05-19 14:16:00 633
原创 计算文字在AutoCAD中所占的长度,和字体样式,字高,宽高必有关
在AutoCAD中,经常需要在一个创建一个文字实体之前,先要计算出它根据字体样式,字高和宽高比在图纸中所占的宽度,比如在一大段文字排版的时候很有用。于是整理封装了一下这个函数:double YgxGeometry::TextLength(LPCSTR str, double h, double wr){ if(strlen(str) == 0) return(0.); struct
2009-05-16 07:41:00 1730
原创 判断ARX程序是否加载及加载卸载操作
在Arx操作中,经常碰到要判断一个ARX是否被加载了,以及需要在程序中动态加载或者卸载一个ARX程序,于是封装了这几个函数 // 检查arx程序是否加载,格式“arxname.arx”,不要路径名// 返回:RTNORM-已加载 RTERROR-没加载int YgxAcadUtil::IsArxLoaded(const char* appName) { char tBuf
2009-05-16 07:33:00 1013
原创 发送命令给AutoCAD的方法,比如Cancel命令
闲来无事,突然想整理一下发送命令到AutoCAD的方法,在ARX的帮助里有最常见的两个方法:int acedCommand(int rtype, ... unnamed);int acedCmd(const struct resbuf * rbp); 这两个函数处理命令的方式差不多,只不过一个通过链表来描述整个命令,一个通过不定参数来描述。 1.
2009-05-16 06:47:00 2214 1
原创 Eclipse开发C++
用 Eclipse 平台进行 C/C++ 开发我们将概述如何在 C/C++ 开发项目中使用 Eclipse 平台。尽管 Eclipse 主要是一个 Java 开发环境,但其体系结构确保了对其它编程语言的支持。在本文中,您将学习如何使用 C/C++ 开发工具箱(C/C++ Development Toolkit,CDT),它是可用于 Eclipse 的最佳 C/C++ 工具箱。 使用 Eclip
2009-04-27 09:57:00 604
原创 Eclipse入门-网址
Eclipse 入门 网址Java咖啡的奶茶——Eclipse Eclipse遮住了谁的光芒关注日蚀计划Eclipse Eclipse:温柔的侵袭什么是Eclipse Eclipse 平台入门Eclipse使用入门Eclipse入门:使用指南Eclipse入门:开发Eclipse插件用Eclipse平台进行C/C++开发SWT代码研究SWT/JFace开发入门指南Java图形界面开发:SWT全
2009-04-27 09:20:00 1980
原创 C# 调用Fortran动态库中函数
在Fortran 动态库中必须导出函数,如: 不带参数的导出函数subroutine start !MS$ATTRIBUTES DLLEXPORT:: STARTend subroutine 带参数的导出函数subroutine SetPath(ifpath,npath) !MS$ATTRIBUTES DLLEXPORT,ALIAS:SETPATH:: SETPA
2009-04-21 17:24:00 982
原创 IronPython
IronPython 是基于.net的Python库。网址是:http://www.codeplex.com/IronPython
2009-04-21 16:49:00 540
原创 Dynamic Language Runtime(DLR)
Microsoft 正在构建动态语言运行时 (DLR),向 CLR 中添加了一组专门用于满足动态语言需要的服务。DLR 添加的功能包括:一个共享的动态类型系统,一个标准的承载模型,以及对简化生成快速动态代码和快速符号表的支持。凭借这些附加功能,可以十分轻松地为 .NET 构建高质量的动态语言实现。此外,这些功能使得构建于 DLR 之上的动态语言可以共享用其他动态语言或基于 CLR 的静态语言编写的
2009-04-21 16:42:00 623
转载 经典算法-算术表达式求值
经典算法-算术表达式求值作者:蒋勇 http://www.kipway.com 转载请保留此行 表达式的计算应用相当广泛,比如电力调度系统中的计算遥测、车站票务系统中的票价类型计算公式等。 本文讲述中置表达式转换为后置表达式和后置表达式的求值算法,并给出实现的C++源代码,同时给出一个相当简洁的堆栈C++模板类。中缀表达式到后缀表达式的转换 要把表达式从中缀表达式的形式转换成用后缀表
2009-04-21 16:23:00 4773 3
原创 几个常用的C++library
几个常见的C++library1. Boosthttp://www.boost.org/Boost库是一个经过千锤百炼、可移植、提供源代码的C++库,作为标准库的后备,是C++标准化进程的发动机之一。 Boost库由C++标准委员会库工作组成员发起,在C++社区中影响甚大,其成员已近2000人。 Boost库为我们带来了最新、最酷、最实用的技术,是不折不扣的“准”标准库.下面是B
2009-04-21 16:01:00 626
原创 C#中枚举的一些操作
C#中经常要用到枚举,今天有点时间,整理了一下枚举的主要使用方法如下:定义一个CS文件,把这些内容拷入其中。 using System;using System.Collections.Generic;using System.Text;namespace EnumExample{ /// /// 定义一个课程枚举 /// e
2009-04-09 09:50:00 1320 1
原创 多核处理器并行计算编程利器OpenPM
OpenMP是一个业界的标准,很早以前就有了,只是近一段时间才逐渐热起来。我们可以在C/C++和Fortran使用OpenMP、很容易的引入多线。 在并行计算中用处很大。 官方网站www.openmp.org。 下面是一个详细介绍的链接。http://topic.csdn.net/u/20080512
2009-02-11 14:21:00 744
原创 ListView Column Item绑定不同控件和数据格式化显示
经常用到ListView,每个Column可能需要用到不同控件,如CheckBox,TextBox等等,而且对于Double类型数据可能需要格式化显示,如保留3位有效数字,一下这段Xaml比较有用。
2009-02-06 16:46:00 1229
原创 一个开源的.net开发环境
http://www.icsharpcode.net/OpenSource/SD/The Open Source Development Environment for .NET,
2009-02-06 16:33:00 425
原创 DynamicResource帮助定义一个程序中的通用资源
通常情况下,我们需要在我们的应用程序界面中使用相同风格的界面,比如风格一样的Button,ListView等等,我们不可能在每个Window或者Page中去定义这些风格的资源,这时,我们可以通过DynamicResource解决问题。 下面我们开始一步一步定义DynamicResource及使用。 1. 新建一个skins.xaml文件,在这个文件中定义我们的公共资源。"htt
2008-09-28 11:07:00 835
原创 C++编译时函数名修饰约定规则
1 __stdcall调用约定: 1、以“?”标识函数名的开始,后跟函数名; 2、函数名后面以“@@YG”标识参数表的开始,后跟参数表; 参数表以代号表示: X--void , D--char, E--unsigned char, F--short, H--int, I--unsigned int, J--long, K--unsigned long, M--float, N--double, _
2008-04-09 11:25:00 405
原创 SQL基础
一、基础1、说明:创建数据库CREATE DATABASE database-name 2、说明:删除数据库drop database dbname3、说明:备份sql server--- 创建 备份数据的 deviceUSE masterEXEC sp_addumpdevice disk, testBack, c:/mssql7backup/MyNwind_1.dat--- 开始
2008-03-05 10:02:00 395
原创 钩子的使用方法
编写钩子程序的步骤分为三步:定义钩子函数、安装钩子和卸载钩子。 1.定义钩子函数 钩子函数是一种特殊的回调函数。钩子监视的特定事件发生后,系统会调用钩子函数进行处理。不同事件的钩子函数的形式是各不相同的。下面以鼠标钩子函数举例说明钩子函数的原型: LRESULT CALLBACK HookProc(int nCode ,WPARAM wParam,LPARAM lParam) 参数wPar
2008-03-04 18:10:00 1153
原创 把块中不同图层的实体放到统一图层上的方法
// 得到层ID AcDbObjectId layerId; AcDbLayerTable *pLayerTbl = NULL; if (acdbHostApplicationServices()->workingDatabase() ->getLayerTable(pLayerTbl, AcDb::kForRead) != Acad::eOk) return; if (pLayerTbl
2008-03-04 18:09:00 958
原创 C++对FORTRAN过程的调用的方法
在C++中调用FORTRAN的过程,步骤如下(FORSUB为例):1.对调用函数的声明 extern “C” void __stdcall FORSUB2.调用的FORTRAN过程名称,在C++中应为大写字母
2008-03-04 18:08:00 491
原创 在FORTRAN的过程和函数中调用C++函数的方法
在FORTRAN的过程和函数中调用C++函数,可按如下三步处理(以调C++函数Sample为例)1:在调用函数所在的Fortran函数的最前部要用USE 声明该函数 USE Sample_Mode2:在Fortran文档中,需要说明Sample函数的接口 MODULE Sample_Mode INTERFACE SUBROUTINE Sample(nFlag
2008-03-04 18:08:00 957
原创 代码规范
1 文件结构1.1 版权声明 1.1.1 版权声明 空一行 1.1.2 文件名称: 文件标识: 摘要: 空一行 1.1.3 当前版本: 作者: 完成日期: 空一行 1.1.4 取代版本: 原作者: 完成日期:1.2 头文件结构
2008-03-04 18:07:00 350
原创 FORTRAN与C++间数据的访问和交换
三种形式:参数传递、公用数据、模块方式1.参数传递 参数的传递有两种方式:传值传递和引用传递。 FORTRAN缺省约定:引用传递(地址) C++缺省约定:传值传递 在混合编程中必须保证参数传递方法的一致性。 注意在C++调用FORTRAN的过程中,如要传递字符串,则每个字符变量后应加一整型变量,但在FORTRAN中不能体现。2.公用数据 FORTRAN公共区与C++的结构,三种情况: a>
2008-03-04 18:07:00 932
原创 工程数据库的特点
工程数据与商用和管理数据相比,主要有以下特点。 1)工程数据中静态(如一些标准、设计规范、材料数据等)和动态(如随设计过程变动而变化的设计对象中间设计结果数据)数据并存。 2)数据类型的多样化,不但包括数字、文字,而且包含结构化图形数据。 3)数据之间复杂的网状结构关系(如一个基本图形可用于多个复杂图形的定义,一个产品往往由许多零件组成)。 4)大部分工程数据是试探性交互式
2008-03-04 18:06:00 2473
原创 面向对象设计模式与原则
设计模式简介 每一个模式描述了一个在我们周围不断重复发生的问题,以及该问题的解决方案的核心。 -- Christopher Alexander设计模式描述了软件设计过程中某一类常见问题的一般性的解决方案。面向对象设计模式描述了面向对象设计过程中、特定场景下、类与相互通信的对象之间常见的组织关系。GoF23 种设计模式
2008-03-04 18:06:00 438
原创 涵洞CAD系统必须实现的功能
涵洞CAD系统必须实现的功能 作者: racky 前言 在公路设计中,涵洞设计占有较大的工作量,随着公路沿线的地形、地质、水文及农田水利等情况的变化,涵洞设计除考虑排水外,还需
2008-03-04 18:05:00 1719 3
原创 属性单(CPropertySheet)使用
很久以前在网上看到的一片文章,忘了是谁写的了,觉得很好,所以在这里转载。首先要了解的是CPropertySheet实际上是由一个TabCtrl加多个Page和多个按钮组成这里强调一点,DoModal的时候并没有把所有的PAGE都创建出来,只有在SetActivePage的时候才创建所以如果你初始化的代码在OnInitDialog,那么刚开始最好先用SetActivePage切换一下在讲述之
2008-03-04 18:04:00 7593 1
原创 CxImage的简单用法
相信大家在进行图形相关开发时,对CxImage一定非常熟悉,这是一个专门处理各种格式图形文件的C++库。我们在用OpenGL开发程序的时候,必然需要用到材质,对于简单的bmp格式,我们当然很轻松就能处理,但是对于像jpg,gif,tif,png,ico,pcx,tga等复杂格式,我们是不是就感觉很为难呢?其实用CxImage就能很轻松地处理这些格式文件。下面说一下CxImage的基本用法:1、打开
2008-03-04 18:03:00 4740 2
原创 常用学习OpenGL的网站
常用学习OpenGL网站www.mesa3d.orgwww.eecs.tulane.edu/www/Terry/OpenGL/Introduction.htmlwww.xmission.com/~nate/opengl.htmlhttp://developer.apple.com/graphicsimaging/opengl/www.mevis.de/opengl/opengl.htmlhtt
2008-03-04 18:02:00 1683 1
原创 实体反应器的用法
#i nclude "dbapserv.h"#i nclude "dbents.h"#i nclude "accmd.h"// 下面这个例子为直线A添加一个反应器,并且关联到标注,当A有变化时,标注也会随之变化void addToModelSpace(AcDbObjectId &objId, AcDbEntity* pEntity);// AsdkObjectToNotify - 反应器对象c
2008-03-04 18:02:00 1534
原创 关于AutoCAD中多文档操作时锁定问题
在AutoCAD中,所有的文档在被修改之前必须被锁定,但是在查询文档数据时是不需要锁定的,你可以随时查询任何一个打开的文档的数据。有时在你自己查询一个文档数据时,为了防止别的程序临时修改该文档的数据,也需要把文档锁定。像AutoCAD的各种命令,以及ObjectARX的命令和AutoLISP函数都已经处理了基本的文档锁定,所以不需要太关心。但是非模态对话框、工具条以及任何需要在活动文档之外工作的命
2008-03-04 18:01:00 1466
原创 利用VTK库开发基于MFC的应用程序
利用VTK库开发基于MFC的应用程序在用VTK库时,感觉很难开发出MFC的应用程序,VTK提供的vtkMFCWindow类封装的太死,在参考vtkMFCWindow类的实现方式后,通过改造单文档应用程序中的View类,直接在View类中就能响应MFC消息,同时又能利用VTK库本身的东西。在我的例子中,能打开VTK格式文件,同时能用鼠标进行移动旋转,缩放等操作,而且响应右键菜单,插入一个3ds文件。
2008-03-04 18:00:00 2670 2
原创 关于AcGe库的基本使用方法
下面的例子介绍对于点、矢量、距阵最基本的函数和操作,这些例子使用三维对象,但绝大多数函数和操作都适用于二维对象。对于点和矢量来说,默认的构造函数把所有的坐标都初始化为0。它们也能像下面这样在创建时初始化各个坐标:AcGePoint3d p1(2.0,5.0,-7.5), p2, p3(1.0,2.0,3.0);AcGeVector3d v1(3.0,4.0,5.0), v2(0.0,
2008-03-04 17:58:00 1563
原创 C++非模态对话框自动销毁的好方法
非模态对话框自动销毁的好方法在进行非模态对话框编程时,由于其需要通过new 一个对话框对象,然后调用Create函数来创建,这就牵涉到何时把对话框delete掉的问题,通过如下方法,可以让你不再担心对话框忘记delete掉而导致的内存泄漏问题。1、用ClassWizard在对话框中添加如下虚拟函数virtual void PostNcDestroy();这样就有了这样一个函数:void CAbou
2008-03-04 17:57:00 1118
原创 Group操作
// 旋转GroupAcad::ErrorStatus rotationGroup(const char* strGroupName, const AcGePoint3d& ptRotation, double rotationAngle) ...{ // 得到Group字典 AcGePoint3d pt; AcDbDictionary *pGroupDict
2008-03-04 17:56:00 401
ChangeFilenameToMD5
2007-10-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人