资源简介
Object ARX 参数化自定义实体的经典实例,双击对象显示对话框

代码片段和文件信息
// AsdkMyClass.cpp: implementation of the AsdkMyClass class.
//
//////////////////////////////////////////////////////////////////////
#include “stdafx.h“
#include “resource.h“
#include “AsdkMyClass.h“
#include “geassign.h“
#include
#include “commands.h“
#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif
#define PI 3.1415926
ACRX_DXF_DEFINE_MEMBERS(AsdkMyClass AcDbEntity
AcDb::kDHL_CURRENT AcDb::kMReleaseCurrent
0 ASDKMYCLASS SAMP2);
///////////////////////////////////////////////////////////////////
AsdkMyClass::AsdkMyClass(AcGePoint3d basePt int floorNum
double baseLen double QCJWid
double HCJWid double Hei):m_basePt(basePt)
m_FloorNum(floorNum) m_baseLen(baseLen) m_LeftCJLen(HCJWid)
m_RightCJLen(QCJWid) m_baseHeight(Hei)
{
ExtendedbaseIni();
}
// 计算点坐标的函数
void AsdkMyClass::ExtendedbaseIni()
{
double transLen;
m_PtArr1[0] = m_basePt;
m_PtArr1[1] = Pt2Pt(m_basePt PI/2 m_baseHeight);
m_PtArr1[2] = Pt2Pt(m_PtArr1[1] 0 m_baseLen);
m_PtArr1[3] = Pt2Pt(m_basePt 0 m_baseLen);
if (m_FloorNum >= 2)
{
transLen = m_baseLen - m_LeftCJLen - m_RightCJLen;
m_PtArr2[0] = Pt2Pt(m_PtArr1[1] 0 m_LeftCJLen);
m_PtArr2[1] = Pt2Pt(m_PtArr2[0] PI/2 m_baseHeight);
m_PtArr2[2] = Pt2Pt(m_PtArr2[1] 0 transLen);
m_PtArr2[3] = Pt2Pt(m_PtArr2[0] 0 transLen);
if (m_FloorNum >=3)
{
transLen = transLen - m_LeftCJLen - m_RightCJLen;
m_PtArr3[0] = Pt2Pt(m_PtArr2[1] 0 m_LeftCJLen);
m_PtArr3[1] = Pt2Pt(m_PtArr3[0] PI/2 m_baseHeight);
m_PtArr3[2] = Pt2Pt(m_PtArr3[1] 0 transLen);
m_PtArr3[3] = Pt2Pt(m_PtArr3[0] 0 transLen);
if (m_FloorNum == 4)
{
transLen = transLen - m_LeftCJLen - m_RightCJLen;
m_PtArr4[0] = Pt2Pt(m_PtArr3[1] 0 m_LeftCJLen);
m_PtArr4[1] = Pt2Pt(m_PtArr4[0] PI/2 m_baseHeight);
m_PtArr4[2] = Pt2Pt(m_PtArr4[1] 0 transLen);
m_PtArr4[3] = Pt2Pt(m_PtArr4[0] 0 transLen);
}
}
}
}
// 读入数据
Acad::ErrorStatus
AsdkMyClass::dwgInFields(AcDbDwgFiler *pFiler)
{
assertWriteEnabled();
Acad::ErrorStatus es;
if ((es = AcDbEntity::dwgInFields(pFiler)) != Acad::eOk)
{
return es;
}
if (pFiler->filerType() == AcDb::kWblockCloneFiler)
{
AcDbHardPointerId id;
pFiler->readItem(&id);
}
pFiler->readItem(&m_basePt);
pFiler->readItem(&m_FloorNum);
for (int i=0; i<4; i++) {
pFiler->readItem(&m_PtArr1[i]);
}
if (m_FloorNum >= 2)
{
for (int i=0; i<4; i++) {
pFiler->readItem(&m_PtArr2[i]);
}
if (m_FloorNum >=3)
{
for (int i=0; i<4; i++) {
pFiler->readItem(&m_PtArr3[i]);
}
if (m_FloorNum == 4)
{
for (int i=0; i<4; i++) {
pFiler->readItem(&m_PtArr4[i]);
}
}
}
}
return pFiler->filerStatus();
}
// 写出数据到DWG文件中
Acad::ErrorStatus
AsdkMyClass::dwgOutFields(AcDbDwgFiler *pFiler) const
{
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 602 2004-11-11 14:32 经典实例\acadstk.dmp
文件 2546 2004-02-26 09:54 经典实例\AdskDMgr.h
文件 10209 2005-03-14 16:19 经典实例\AsdkMyClass.cpp
文件 3243 2005-03-14 16:19 经典实例\AsdkMyClass.h
文件 314 2010-08-12 15:48 经典实例\cmd.api
文件 322 2005-03-14 16:00 经典实例\Commands.cpp
文件 1134 2005-03-14 16:00 经典实例\Commands.h
文件 963 2005-03-14 15:56 经典实例\ControlDB.cpp
文件 120 2005-03-14 16:01 经典实例\ControlDB.h
文件 1270 2010-08-04 15:50 经典实例\dlgkdjc.bmp
文件 1389 2005-03-14 15:30 经典实例\DlgModiEnt.cpp
文件 1360 2004-04-13 10:20 经典实例\DlgModiEnt.h
文件 616 2004-02-26 09:54 经典实例\DocData.cpp
文件 828 2004-02-26 09:54 经典实例\DocData.h
文件 3102 2010-08-12 15:48 经典实例\doubleClickDimension.cpp
文件 893 2010-08-10 11:50 经典实例\doubleClickDimension.h
文件 145 2010-08-12 15:48 经典实例\ial.api
文件 1270 2010-08-04 15:50 经典实例\kdjc.bmp
文件 3225 2005-03-14 15:56 经典实例\KDJCDlg.cpp
文件 1591 2004-03-25 18:17 经典实例\KDJCDlg.h
文件 23 2010-08-12 15:48 经典实例\ob
文件 402 2004-02-26 09:54 经典实例\res\UserDefEnt.rc2
文件 1223 2005-03-14 16:21 经典实例\Resource.h
文件 979 2004-02-26 09:54 经典实例\rxdebug.cpp
文件 611 2004-02-26 09:54 经典实例\rxdebug.h
文件 206 2004-02-26 09:54 经典实例\StdAfx.cpp
文件 2450 2005-03-14 15:13 经典实例\StdAfx.h
文件 887 2010-08-12 15:48 经典实例\StdArx.h
文件 1270 2010-08-10 08:59 经典实例\toolbar1.bmp
文件 20060 2010-08-04 15:49 经典实例\UserDefEnt.aps
............此处省略16个文件信息
- 上一篇:ob
ject arx 类天正墙体 的 自定义实体 - 下一篇:jsoup解析xm
l文件
相关资源
-
ob
jectARX给Auto CAD加工具条 - CAD ARX 开发实例
-
AutoCAD ob
jectARX二次开发实例-状态栏 -
利用ob
jectARX实现特征建模 -
基于ADO开发ob
jectARX数据库应用程序 - 考虑CP违规数据的中微子混合矩阵的指
- 基于Pro/E纯滚动单圆弧齿轮参数化建模
- AutoCAD二次开发在直齿圆柱齿轮参数化
- 基于Pro/E的渐开线斜齿圆柱齿轮
- 基于PRO/E的齿轮参数化设计
- 基于Pro/E双圆弧圆柱齿轮的参数
- 基于Pro/E 4.0的圆柱槽形凸轮参
- 基于Pro/E的直齿圆柱齿轮参数化三维建
- 基于Pro/E斜齿圆柱齿轮参数化设计及运
- Dynamo建立参数化盾构隧道
-
Selenium使用Pageob
ject模式测试登陆页 - Checkmarx企业级静态源代码安全漏洞和
-
官网swfob
ject - Fraction分数的约分及四则运算
-
翻译:ob
ject Tracking: A Survey,物体跟 -
Effective ob
jective-C 2.0 -
SuperMap ob
jects 服务区分析 -
SuperMap ob
jects 综合救援调度 -
org.json.JSONob
ject引用依赖包 - Adams柔性体、函数、参数化一点资料
-
Remob
jects Hydra for Delphi V3.0.39.777 ful -
The art of me
taob ject protocol - The Complete Friday Q&A: Volume I
-
ob
jectARX帮助文档 - MapGIS二次开发源代码
评论
共有 条评论