![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Archicad二次开发
niuge No.1
这个作者很懒,什么都没留下…
展开
-
Archicad二次开发——三角剖分
Archicad的三角剖分的api用起来还是比较麻烦的。主要是API文档有问题,没有案例。这里给出一个样例:一下一个五角形,注意起点和终点是同一个点。最后打印的是顶点的索引。const double px[6] = { 0,1,3,4,2,0 }; const double py[6] = { 1,0,0,1,2,1 }; const double pz[6] = { 0,0,0,0,0,0 }; bool result; const short mask[原创 2020-09-10 15:45:13 · 348 阅读 · 0 评论 -
Archicad二次开发——创建辅助元素
1、创建线API_Element element;BNZeroMemory(&element, sizeof(API_Element));element.header.typeID = API_LineID;GSErrCode err = ACAPI_Element_GetDefaults(&element, nullptr);if (err != NoError) { ErrorBeep("ACAPI_Element_GetDefaults (Line)", err);原创 2020-09-04 11:41:26 · 303 阅读 · 0 评论 -
Archicad二次开发——创建墙、梁、柱等元素
1、创建直线墙 API_Element wallElement = {}; GSErrCode err; wallElement.header.typeID = API_ElemTypeID::API_WallID; ACAPI_Element_GetDefaults(&wallElement, nullptr); err = ACAPI_CallUndoableCommand("Create Element", [&]() -原创 2020-09-04 11:13:36 · 1071 阅读 · 0 评论 -
Archicad二次开发——元素
1、获取指定元素Archicad通过guid获取指定元素获取guid的方法:在样例代码的browser control里可以获得选中构件的guid获取指定元素的样例: API_Element element; GSErrCode err; BNZeroMemory(&element, sizeof(API_Element)); element.header.guid = GSGuid2APIGuid(GS::Guid("BACF8F36-63原创 2020-09-04 09:39:42 · 494 阅读 · 0 评论 -
Archicad二次开发——开发环境配置
1、开发环境Visual Studio2017安装开发工具包,并把开发工具包放在d:\Documents\Visual Studio 2017\Templates\ProjectTemplates2、字符节使用多字节符集,以便支持中文3、调试里的命令指向Archicad的程序位置D:\Program Files\GRAPHISOFT\ARCHICAD 24\ARCHICAD.exe,命令参数-DEMO4、设置输出路径D:\Program Files\G...原创 2020-09-03 09:33:27 · 1155 阅读 · 2 评论 -
Archicad二次开发——MessageBox、USstring转字符、打开保存文件的对话框获取选择的地址、获取文件信息
先吐槽一句,Archicad的二次开发实在太不友好(我技术太菜)。1、MessageBoxMessageBox(NULL, "message","title",0);2、USstring转字符archicad用的内部的数值类型,需要各种转换GS::UniString str = "test";MessageBox(NULL, str.ToCStr().Get(), "TEST", 0);3、打开保存文件的对话框获取选择的地址DG::FileDialog saveDialo原创 2020-09-02 18:25:04 · 437 阅读 · 0 评论