摘要: AcDbPolyline* pLine = new AcDbPolyline;......AcDbObjectId idPline = AddToCurrentSpace(pLine);ads_name namepLine;acdbGetAdsName(namepLine, idPline);acedSSSetFirst(namepLine, NULL);这样不行,是不是因为 namepLine 只是一个实体的名字,而不是选择集呢?怎么转换为选择集呢?[hr]选中实体的话,应该用acedSSGet而不是acedSSSetFirst另外 pLine 在加入database之后需要close..用 阅读全文
posted @ 2013-04-14 13:32 编号一百零二 阅读(582) 评论(0) 推荐(1) 编辑
摘要: #include "dblayout.h"#include "acaplmgr.h"#include "dbplotsetval.h"#include "dbplotsettings.h"/*To query the all the available plot configurations you should use plotDeviceList()method of AcDbPlotSettingsValidator class.And to get the list of available media n 阅读全文
posted @ 2013-04-14 13:31 编号一百零二 阅读(984) 评论(0) 推荐(1) 编辑
摘要: ads_queueexpr( _T("(command\"_POINT\" \"1,1,0\")") );该函数CAD未公开,使用时提前声明下就可以了。可以参考帮助文件中:Tips and Techniques 。acDocManager->sendStringToExecute(curDoc(), _T("_POINT 2,2,0 "));该函数在Arx帮助中有详细说明。acedCommand(RTSTR, _T("_POINT"), RTSTR,_T("5,5,0" 阅读全文
posted @ 2013-04-14 13:30 编号一百零二 阅读(692) 评论(0) 推荐(1) 编辑
摘要: 举例一个在模态对话框中选择点并显示点的功能。在“选择点”按钮的单击事件中,隐藏对话框,提示用户在图形窗口中选择一个点,然后重新显示该对话框,其处理函数为:void CArxDialog::OnButtonPoint()//点击按钮响应函数{// 隐藏对话框把控制权交给AutoCADBeginEditorCommand();// 提示用户输入一个点ads_point pt;if (acedGetPoint(NULL, "\n输入一个点:", pt) == RTNORM){// 如果点有效,继续执行CompleteEditorCommand();m_strXPt.Format( 阅读全文
posted @ 2013-04-14 13:29 编号一百零二 阅读(709) 评论(0) 推荐(1) 编辑
摘要: 总是需要在自定义控件上显示DWG图形,如在一个对话框上动态浏览一个DWG图形,于是写了一个控件,专门用来动态浏览DWG,这个控件从CStatic中派生,运用AcGs类库中的AcGsView,AcGsDevice,AcGsModel来协作显示DWG图形。从CStatic派生,使用方便,只要在对话框中放一个CStatic,然后把CStatic的对象名换成fcGsPreviewCtrl即可。fcGsPreviewCtrl.h/********************************************************************日 期: 2007/10/08文件 名: 阅读全文
posted @ 2013-04-14 13:27 编号一百零二 阅读(971) 评论(1) 推荐(0) 编辑
摘要: AcDbViewTableRecord GetCurrentView(){AcDbViewTableRecord view;struct resbuf rb;struct resbuf wcs, ucs, dcs; // 转换坐标时使用的坐标系统标记wcs.restype = RTSHORT;wcs.resval.rint = 0;ucs.restype = RTSHORT;ucs.resval.rint = 1;dcs.restype = RTSHORT;dcs.resval.rint = 2;// 获得当前视口的“查看”模式acedGetVar("VIEWMODE", 阅读全文
posted @ 2013-04-14 13:23 编号一百零二 阅读(622) 评论(0) 推荐(2) 编辑
摘要: 实际上,AutoCAD对于用户自定义命令 (C:xxx) 和她原装的命令并不是一视同仁,而是有亲有疏。具体表现在C:xxx定义的命令:1〉用 (Command) 或者 (VL-CmdF) 函数不能引用。2〉从菜单项引发的用户自定义命令,执行之后不能用回车重复调用。3〉命令反应器不能跟踪。这显然是不方便的,为了克服这个问题,我们曾经探讨了多个行之有效的方法。而目前,Visual LISP 也提供了一种新的解决方案,关键功能函数是 (VLAX-Add-Cmd)。(VLAX-Add-Cmd “命令名”函数名 [“命令别名” 命令标志码])作用:将一个用户函数以内部命令身份加入到AutoCAD命令集之 阅读全文
posted @ 2013-04-14 13:22 编号一百零二 阅读(997) 评论(0) 推荐(0) 编辑
摘要: #include "StdAfx.h"#include "StdArx.h"#include "stdafx.h"#include "resource.h"#include "acutads.h"#include "dbents.h"#include "dbpl.h"#include "MALLOC.h"#include "STDLIB.h"#include "acedads.h"#include 阅读全文
posted @ 2013-04-14 13:21 编号一百零二 阅读(791) 评论(0) 推荐(0) 编辑
摘要: // DoubleClickEdit.h: interface for the CDoubleClickEdit class.//////////////////////////////////////////////////////////////////////////By freejsutin 2005-08-17#include "AcDblClkEdit.h" //for dinfine AcDbDoubleClickEdit#pragma comment (lib ,"AcDblClkEditPE.lib")#include "ac 阅读全文
posted @ 2013-04-14 13:19 编号一百零二 阅读(704) 评论(0) 推荐(0) 编辑
摘要: 大多数ObjectARX函数在处理选择集和实体时,都用名字来识别选择集或实体,该名字用一个长整型对来表示的,并对AutoCAD来维护。在ObjectARX中,该名字的类型为ads_name。在对选择集或实体进行操作之前,ObjectARX应用程序必须通过调用一个返回其名字的库函数来得到选择集或实体名字。注意:选择集和实体的名字是不稳定的,它们仅仅在AutoCAD当前图形工作时有效。如果从AutoCAD退出或切换到另一个图形时其值就会丢失。对于选择集来说,它也是与当前图有关联的,所以其名字的不稳定性不会影响选择集。但是对于实体就不一样了,因为它是被存放在图形数据库中的,名字的不稳定性要影响到对实 阅读全文
posted @ 2013-04-14 13:18 编号一百零二 阅读(604) 评论(0) 推荐(0) 编辑