首页 > 其他分享 >实例介绍-总览

实例介绍-总览

时间:2022-12-11 16:37:20浏览次数:36  
标签:NULL const 选择对象 CString 介绍 int 实例 总览 Op

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_扩展模块开发

算法库

image

封装了常用的操作

  • 曲线

    • AcGeCurve3d
      • AcGeCircArc3d
      • AcGeEllipse3d
      • AcGeLine3d
      • AcGePoly3d
      • AcGeCompositeCurve3d
  • 二维

  • 三维

  • 坐标转换

  • 其他

    • 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

相关文章

  • STM32与PS2的无线通信和相关函数介绍
    PS2采用SPI通信协议源码和参考文件获取:https://github.com/Sound-Sleep/PS2_Based_On_STM32接收器接口DI:手柄->主机,时钟的下降沿传送信号,信号的读取在时钟由髙到低......
  • MinIO 介绍 与 FastDFS 对比
    ​​欢迎禅观我的博客,一个Vue与SpringBoot结合的产物:https://poetize.cn​​MinIO是一款基于Go语言的高性能、可扩展、云原生支持、操作简单、开源的分布式对象存储产......
  • 「Docker学习系列教程」9-Docker容器数据卷介绍
    通过前面8篇文章的学习,我们已经学会了docker的安装、docker常用的命令已经docker镜像修改后提交的远程镜像仓库及提交到公司的私服仓库中。接下来,我们再来学学Docker另外一......
  • 「Docker学习系列教程」9-Docker容器数据卷介绍
    通过前面8篇文章的学习,我们已经学会了docker的安装、docker常用的命令已经docker镜像修改后提交的远程镜像仓库及提交到公司的私服仓库中。接下来,我们再来学学Docker另外一......
  • Studio One6官方中文版,2023年最新Studio One6专业级数字音乐工作站功能介绍
    StudioOne6是一款强大的音乐编曲软件,可以帮助您使用灵活的和弦轨道功能实现音乐创作。StudioOne6是一款易上手的专业级数字音乐工作站。从最简单的音频、音轨处理和编曲......
  • Teamspeak介绍使用以及服务器搭建教程
    Teamspeak介绍使用以及服务器搭建教程标签(空格分隔):TeamspeakTeamspeak介绍Teamspeak不同于yy,kook之类的必须注册,使用官方服务器的软件。他最大的特点就是可以自建服务......
  • Node.js Event Loop 处理的几大周期介绍
    Node.jsEventLoop处理的几大周期如下图所示:Timer:通过setTimeout()或setInterval()安排的一切都将在这里处理。IO回调:这里将处理大部分回调。由于Node.js......
  • API接口文档实例
    接口描述获取接口统一鉴权码token接口,此接口调用需要appid凭证和secret密钥,每个微信只有一对请求URLhttps://api.weixin.qq.com/cgi-bin/token?grant_type=client_cr......
  • Tomcat使用介绍
    一、tomcat介绍Tomcat服务器是一个免费的开放源代码的轻量级Web应用服务器,如apache处理静态HTML能力突出不同,tomcat处理动态HTML能力相当强大,因此一般项目都是部署apache......
  • LightDB内置特性之访问oracle之oracle_fdw介绍
    LightDB发行版内置了直接访问oracle的扩展oracle_fdw。只要lightdb所在服务器安装了oracle客户端/服务器或轻量客户端,并配置环境变量即可使用。如下:exportORACLE_HOME=......