AppClientOp
创建2D对象
CreateEntity2D
打印选择对象(Entity)信息
打印选择对象(Entity)信息,选择对象过滤
选择对象
SelectOne
static Op_Result SelectOne (
const CString&tip, // 提示信息
AcDbEntity*&pSelObject, // 选择对象信息
const SelectType& type =kNone, // 选择对象的外观表达,三种,(1. 小绿叉 2. 将对象标记为选中状态,3. 对象不变化)
const int& proximity=Default_Select_Box_Height, // 选择范围,
DPoint*approxResultPos=NULL,
int*offset1=NULL,int*offset2=NULL,int*offset3=NULL,
AcRuntimeClass* isKindOfClass=NULL, // 过滤选择的对象
KY_KEY *key=NULL);
if (AppClientOp::SelectOne("选择多边形", pOneEntity, kSelect, Default_Select_Box_Height, NULL, NULL, NULL, NULL, AcDb3DPolyline::desc()) != kOpResultOk)
绘制简单图元
点
AppClentOp
static Op_Result DrawPoint(
const CString&tip, // 提示信息
bool bDrawBlueMark, // 是否绘制蓝色标记
DPoint&pickPt, // out 绘制的点的信息
std::vector<std::vector<DPoint>>*pRubberLine=NULL, // 橡皮线
bool bRubberLine2d=true //
);
在绘制点时,先获取工作面,获取工作面有3种方式
enum WorkingMatrixType
{
kOnlyCamera = 0,//永远相机matraix ,如选择对象操作
kCameraOrUCS = 1,//如果有UCS,则用UCS,负责用相机
kUCSOrZeroPlane = 2,//永远用UCS,如果无UCS,则用Z=0平面
};
--- END ---
线
static Op_Result DrawLine(const CString&tip,DPoint&fromPt,DPoint&toPt);
多段线
static Op_Result DrawPolyline(
const CString&tip,
std::vector<DPoint>&pList,
bool bFillPolygon,
int maxCountLimit=-1
);
功能拓展
DynMenu
先选择一个对象,要做的是对一个对象进行编辑
创建一个DynInput的数组,软件交互的重点
DynInput 有
DynBollean
DynInt
DynDouble
等等
重点:拷贝
打开文件
void AppDemo::OpenFile()
{
AcDrawManage*pDoc=AppClient::GetActiveDrawing();
CStringArray fileList;
AcGeFile::PickManyFiles("EVS文件|*.eff", fileList);
for(int i=0;i<fileList.GetCount();i++)
AppClient::OpenFile(fileList[i],pDoc);
}
文件处理
添加支持的文件处理后缀
AppClient::RegisterFileOpenProc(AppDemo::OpenUserFileProc, "txt", "文本测试文件", false);
void AppDemo::OpenUserFileProc(CString filePath, AcDrawManage*pDoc)
{
AfxMessageBox("read file,write your code here ........ zhoudongyu");
}
用户自定义模块
还得再听一遍
05_扩展模块开发
算法库
封装了常用的操作
-
曲线
- AcGeCurve3d
- AcGeCircArc3d
- AcGeEllipse3d
- AcGeLine3d
- AcGePoly3d
- AcGeCompositeCurve3d
- AcGeCurve3d
-
二维
-
三维
-
坐标转换
-
其他
- AcGeAnn
- AcGeConfig
- AcGeDegree
- AcGeDesc
- AcGeExpressionParse
还没写完~~~
界面扩展
扩展对话框的应用
自定义菜单、对话框等...
扩展字典和反应器
反应器相当于生命周期钩子函数
自定义类对象
实现
高级反应器应用
time:3:43
拓展
grid控件按钮
time:6:37
控件图形预览
time:4:03
创建AcDatabase和空间管理就可以
标签:NULL,const,选择对象,CString,介绍,int,实例,总览,Op From: https://www.cnblogs.com/SpringBreath/p/16962293.html