• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >vc/mfc > 怎样用vc启动autocad并画一条直线

怎样用vc启动autocad并画一条直线

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-06-04

佚名通过本文主要向大家介绍了vc画直线,vc6.0无法正常启动,vc 启动不了,vc 无法正常启动,vc 启动线程等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: 怎样用vc启动autocad并画一条直线
描述:

怎样用activex automation 实现?最好有代码实现


解决方案1:

参数坐标要用数组在vc中
SAFEARRAY   *pSA;   
  SAFEARRAYBOUND   aDim[1];   
          aDim[0].lLbound=   0;   
          aDim[0].cElements=   3;   
          pSA=   SafeArrayCreate(VT_R8,1,aDim);   
  //create   a   double   type   safearray   
  ...   
    
  VARIANT   vstart;   
  VariantInit(&vstart);   
  vstart.vt=VT_ARRAY|VT_R8;   
  vstart.parray   =   pSA;   
  

解决方案2:

Private Sub DrawBox_Click() 
Dim p1(0 To 2) As Double 
Dim p2(0 To 2) As Double 
Dim p3(0 To 2) As Double 
Dim p4(0 To 2) As Double 
Dim lineObj As Object 
`设定点座标 
p1(0) = 10# 
p1(1) = 10# 
p1(2) = 0# 
p2(0) = 100# 
p2(1) = 10# 
p2(2) = 0# 
p3(0) = 100# 
p3(1) = 100# 
p3(2) = 0# 
p4(0) = 10# 
p4(1) = 100# 
p4(2) = 0# 
`划第一点到第二点 
Set lineObj = acadApp.ActiveDocument.ModelSpace.AddLine(p1, p2) 
`划第二点到第三点 
Set lineObj = acadApp.ActiveDocument.ModelSpace.AddLine(p2, p3) 
`划第三点到第四点 
Set lineObj = acadApp.ActiveDocument.ModelSpace.AddLine(p3, p4) 
`划第四点到第一点 
Set lineObj = acadApp.ActiveDocument.ModelSpace.AddLine(p4, p1) 
acadApp.Update 
End Sub 

解决方案3:

参考:
#import   "F:\ACAD2000\acad.tlb"   no_namespace   named_guids  
  ....  
  IAcadApplicationPtr   pAcadApp;  
  ....  
   
  HRESULT   h=NOERROR;  
  CLSID   clsid;  
  ::CLSIDFromProgID(L"AutoCAD.Application",&clsid);  
  h=pAcadApp.GetActiveObject(clsid);  
  if(SUCCEEDED(h))  
  {  
  ::AfxMessageBox("GetObject   ok");  
  }  
  else   {  
  ::AfxMessageBox("GetObject   Fail!");  
   
  if(pAcadApp.CreateInstance(clsid)==S_OK)  
  ::AfxMessageBox("CreateObject   ok");  
  else  
   
  {  
  ::AfxMessageBox("CreateObject   Fail!");  
  ::PostQuitMessage(0);  
  }  
  }  
   
  pAcadApp->WindowState=acMax;  
  pAcadApp->Visible=TRUE;  
  获取相关对象:  
  pAcadDoc=pAcadApp->ActiveDocument;//可能没有当前的文档,提示出错.  
  pAcadDoc->get_ModelSpace(&pAcadMSpace);  
  pAcadApp->WindowState=acMax;  
  pAcadApp->Visible=TRUE;  
  可参考帮助文件中对象图  
  .........  
 


分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 怎样用vc启动autocad并画一条直线
  • 怎样用vc启动autocad并画一条直线

相关文章

  • 2017-06-04 com中数据类型的问题,请高手帮忙
  • 2017-06-04 各位好,请问如何把在拖动trackbar的滑块时,其周围的虚线框给去掉?
  • 2017-06-04 SORRY我没分了,,串口程序调试问题???在线急求??非常感谢!!
  • 2017-06-05 如何无条件强制杀死一个进程?
  • 2017-06-04 sql语句执行有时成功有时Error#3092
  • 2017-06-05 ocx对外的接口函数在工程里要怎么声明外部才能调用
  • 2017-06-04 急!!!如何在ActiveX控件中加入一windows标准控件,在线等待,当场给分
  • 2017-06-04 有谁知道“ProfessionalATLCOMProgramming”这本书?
  • 2017-06-05 怎么调试多线程程序??
  • 2017-06-04 100分!-----怎样检测操作系统中有没有安装Dcom98!

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 为什么com的变量不能调用初始化com的函数,连最基本的setcommport都没有,报错classCMSCommhasnomembersetcomm
    • 钩子的问题,请高手帮忙!
    • 求用VS2010写的ATLactivex控件实例代码
    • NOTIFYICONDATA与线程的问题
    • 大家好,如何用VC做一个软件监测另个一个软件发送出来的指令,和接收到的指令
    • ActiveX危机重重吗?
    • 请问ie的工具栏怎样调试呢?
    • JavaScript与ActiveX的属性页
    • 微软专家看过来
    • mutex的深度讨论

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有