vsvode利用objectarx在AutoCAD命令行输出helloworld
时间: 2024-03-01 17:54:29 浏览: 75
可以使用以下代码在AutoCAD命令行输出HelloWorld:
```
(defun c:helloWorld ()
(princ "\nHello World!")
(princ)
)
```
其中,`princ`函数被用来输出文本到命令行。将代码保存到 `.lsp` 文件中,然后使用 `Appload` 命令加载到AutoCAD中,最后输入 `helloWorld` 命令就可以在命令行输出HelloWorld了。
相关问题
用VScode结合Objectarx实现在AutoCAD命令行输出helloworld
好的,具体步骤如下:
1. 下载并安装AutoCAD的SDK,下载地址可以在AutoCAD官网上找到。
2. 在VSCode中创建一个新的C++项目,并在项目中添加AutoCAD SDK的头文件和库文件。
3. 创建一个新的C++源文件,并在该文件中编写代码,实现在AutoCAD命令行输出helloworld。代码示例如下:
```cpp
#include <aced.h>
#include <rxregsvc.h>
void initApp()
{
acedRegCmds->addCommand(_T("HELLO_WORLD"), _T("Hello"), _T("Hello"), ACRX_CMD_MODAL, hello);
}
void unloadApp()
{
acedRegCmds->removeGroup(_T("HELLO_WORLD"));
}
extern "C" AcRx::AppRetCode acrxEntryPoint(AcRx::AppMsgCode msg, void* appId)
{
switch (msg) {
case AcRx::kInitAppMsg:
acrxDynamicLinker->unlockApplication(appId);
acrxRegisterAppMDIAware(appId);
initApp();
break;
case AcRx::kUnloadAppMsg:
unloadApp();
break;
default:
break;
}
return AcRx::kRetOK;
}
void hello()
{
acutPrintf(_T("\nHello, World!"));
}
```
4. 编译代码并生成插件,在AutoCAD中加载插件,然后在命令行中输入Hello命令即可在命令行输出helloworld。
以上就是用VSCode结合ObjectARX实现在AutoCAD命令行输出helloworld的具体步骤。希望可以帮助到您。
举例,在vscode 中利用objectarx对AutoCAD进行二次开发
好的,下面是一个简单的例子,演示如何在 VSCode 中使用 ObjectARX 对 AutoCAD 进行二次开发。
首先,我们需要准备工作:
1. 安装 AutoCAD 以及其对应版本的 ObjectARX SDK。
2. 安装 Visual Studio Code,并安装 C++ 扩展。
然后,我们可以按照以下步骤进行开发:
1. 打开 Visual Studio Code,在菜单栏中选择“文件”->“打开文件夹”,选择要进行开发的 ObjectARX 项目所在的文件夹。
2. 在项目文件夹中创建一个新的 C++ 源文件,例如 hello.cpp,然后在其中编写以下代码:
```cpp
#include "aced.h"
#include "rxregsvc.h"
void hello()
{
acutPrintf(L"Hello World!\n");
}
void initApp()
{
acedRegCmds->addCommand(
L"HELLO",
L"HELLO",
L"HELLO",
ACRX_CMD_MODAL,
hello
);
}
void unloadApp()
{
acedRegCmds->removeGroup(L"HELLO");
}
extern "C" AcRx::AppRetCode acrxEntryPoint(AcRx::AppMsgCode msg, void* appId)
{
switch (msg)
{
case AcRx::kInitAppMsg:
acrxUnlockApplication(appId);
acrxRegisterAppMDIAware(appId);
initApp();
break;
case AcRx::kUnloadAppMsg:
unloadApp();
break;
}
return AcRx::kRetOK;
}
```
这段代码定义了一个名为 "HELLO" 的命令,在 AutoCAD 中执行该命令时会输出 "Hello World!"。
3. 在项目文件夹中创建一个名为 hello.vcxproj 的项目文件,并将以下内容复制到其中:
```xml
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
</ItemGroup>
<ItemGroup>
<ClCompile Include="hello.cpp" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup>
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseOfMfc>false</UseOfMfc>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v142</PlatformToolset>
<WholeProgramOptimization>false</WholeProgramOptimization>
<OutDir>$(ProjectDir)$(Configuration)\</OutDir>
<IntDir>$(ProjectDir)$(Configuration)\</IntDir>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="PropertySheets">
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
</Project>
```
这段代码定义了 VSCode 的 C++ 项目文件,用于编译生成 ObjectARX 动态链接库(DLL)文件。
4. 在 VSCode 的终端中执行以下命令,编译生成 DLL 文件:
```bash
"C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvarsall.bat" x86
msbuild.exe hello.vcxproj /t:Build /p:Configuration=Debug
```
其中,第一行命令用于设置编译环境,根据实际情况修改路径;第二行命令用于编译生成 DLL 文件,可以根据实际情况修改编译参数。
5. 在 AutoCAD 中加载生成的 DLL 文件,可以使用 NETLOAD 命令加载 DLL 文件,然后在命令行中执行 "HELLO" 命令即可看到输出的 "Hello World!"。
这就是一个简单的例子,演示了如何在 VSCode 中使用 ObjectARX 对 AutoCAD 进行二次开发。
相关推荐
![exe](https://img-home.csdnimg.cn/images/20210720083343.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)