




已阅读5页,还剩1页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1. 将字符串类型转换成double型:double x=_tstof(m_strXPt);2Format函数使用方法:m_strXPt.Format(_T(%2f), ptX);3CAD Control型变量类型: AcUiPickButton, AcUiDropSite, AcUiToolButton, AcUiSelectButton, AcUiBitmapStatic, AcUiOwnerDrawButton, AcUiBitmapButton4. “_T”: 找不到标识符解决办法:加入#include tchar.h5. setName(blkName); blkName要为WCHAR型6. 从ads_point 转换到AcGePoint3d 类型的点,即可以通过数组元素直接赋值,也可以通过asPnt3d 函数直接转化: 通过数组元素交换:ptInsertX = ptX;ptInsertY = ptY;ptInsertZ = ptZ; 使用asPnt3d 函数(需要包含geassign.h 头文件):AcGePoint3d ptInsert = asPnt3d(pt);之所以可以使用X、Y 和Z 直接作为数组的下标,是由于这三个字母在ObjectARX 有特殊的定义:enum X = 0, Y = 1, Z = 2 ;7. “CString”: 未声明的标识符在非mfc下 使用CString 会导致上面错误:解决办法:(1)如果你使用VC.net那么:使用MFC:包含cstringt.h;不使用MFC:包含atlstr.h(2 )或者 #include 8.用MessageBox同时显示字符串加变量值:CString str,str1;str=和数=;str1.Format(_T(%d), R);str+=str1;MessageBox(str);9. 编译错误:mt.exe : general error c101008a: Failed to save the updated manifest to the file .DebugTransSliderControl.exe.embed.manifest解决方法:清理解决方案,再重新生成,Ok。10.将编辑框里面的内容写入文本文件中:CFile Myfile; CString strMessage; strMessage.Format( _T(Are you sure you want to save this file?); if (AfxMessageBox(strMessage,MB_YESNO)=IDYES) VERIFY(Myfile.Open(_T(D:test.txt),CFile:modeReadWrite); /m_strPath是路径 int sizeOfString = (save.GetLength()+1); LPTSTR p_Content =new TCHARsizeOfString; _tcscpy_s(p_Content,sizeOfString,save); Myfile.Write(p_Content,sizeOfString); Myfile.Close();11.VC2005和2008中将信息写入记事本方法:UpdateData(TRUE);CWinApp* pApp = AfxGetApp(); LPCTSTR filename=_T(D:test.ini); pApp-m_pszRegistryKey=NULL; pApp-m_pszProfileName=filename;pApp-WriteProfileString(_T(Student),_T(姓名),m_wName);pApp-WriteProfileString(_T(Student),_T(学号),m_wNum);12. “strcmp”: 不能将参数1 从“WCHAR 20”转换为“const char *”Strcmp换成 _tcscmp 同样 Strcpy 换成_tcscpy wcscpy_s13.获得当前运行的AutoCAD 程序的acad.exe 的位置,其实现代码为:bool GetAcadPath(CString &acadPath)DWORD dwRet= :GetModuleFileName(acedGetAcadWinApp()-m_hInstance,acadPath.GetBuffer(_MAX_PATH) , _MAX_PATH);acadPath.ReleaseBuffer();if (dwRet = 0)return false;elsereturn true;14. 提取块属性信息程序的主要片段。 (1) 打开当前数据库的模型空间块表记录。 AcDbBlockTable *pBlockTable;acdbHostApplicationServices()-workingDatabase()-getSymbolTable(pBlockTable, AcDb:kForRead);AcDbBlockTableRecord *pBlockTableRecord;pBlockTable-getAt(ACDB_MODEL_SPACE, pBlockTable Record,AcDb:kForRead);pBlockTable-close();(2) 创建块表记录遍历器,用遍历器遍历实体。 AcDbBlockTableRecordIterator *pBlockIterator;pBlockTableRecord-newIterator(pBlockIterator);for (; !pBlockIterator-done();pBlockIterator-step()AcDbEntity *pEntity;pBlockIterator-getEntity(pEntity, AcDb:kForRead); (3) 在块引用实体中提取块属性。 AcDbAttribute* pAttr; pBlkRef-openAttribute(pAttr,pObjID,AcDb:kForRead); char *pStr = pAttr-tag();char *pText=pAttr-textString();15.获得模型空间实体Id和获取多段线顶点坐标方法AcDbPolyline *pPoly;AcDbBlockTable *pBlockTable;acdbHostApplicationServices()-workingDatabase()-getBlockTable(pBlockTable,AcDb:kForRead);AcDbBlockTableRecord *pBlockTableRecord;pBlockTable-getAt(ACDB_MODEL_SPACE, pBlockTableRecord,AcDb:kForRead);AcDbBlockTableRecordIterator *pBlockIterator;pBlockTableRecord-newIterator(pBlockIterator);for(pBlockIterator-start();!pBlockIterator-done();pBlockIterator-step()AcDbEntity *pEntity;pBlockIterator-getEntity(pEntity,AcDb:kForRead); acutPrintf(pEntity-isA()-name();/得到块表中的实体类名acutPrintf(_T(n);pPoly=AcDbPolyline:cast(pEntity);/ 根据类名将实体指针强制转换成相应的几何实体指针,在获/ 取几何实体的指针后,就可依据该几何实体类所封装的属/性和方法取得实体坐标和其他属性值。pBlockTable-close();pBlockTableRecord-close();for(int i=0;inumVerts();i+) AcGePoint2d pt10; pPoly-getPointAt(i,pti); acutPrintf(_T(%f,%fn),pti.x,pti.y); 16.功能:取两个对象的真实相交点。AcGePoint3dArray Get2ObjIDIntresPoints(AcDbObjectId ObjID1,AcDbObjectId ObjID2)AcDbEntity *pEnt1,*pEnt2;AcGePoint3dArray PTlist;acdbOpenObject(pEnt1,ObjID1,AcDb:kForRead);acdbOpenObject(pEnt2,ObjID2,AcDb:kForRead);pEnt1-intersectWith(pEnt2,AcDb:kExtendArg,PTlist);pEnt1-close();pEnt2-close();return PTlist;17. 显示CAD缩略图1、添加一个Picture控件,设置控件类型为位图。在某个控件处理函数中实现下面功能,如点击按钮 char fileName100; strcpy(fileName, C:/test.dwg); bool es; HWND pWnd; CFrameWnd *pFrame = (CFrameWnd*)GetDlgItem(IDC_Pic1); es = acdbDisplayPreviewFromDwg(fileName, pFrame-m_hWnd); 不能在对话框的初始化函数中实现上面功能,还没找到原因2.使用acdbDisplayPreviewFromDwg函数,具体的方法为:char fileName100;strcpy(fileName, C:test.dwg);bool es;HWND pWnd;CFrameWnd *pFrame = (CFrameWnd*)GetDlgItem(IDC_PICTURE); es = acdbDisplayPreviewFromDwg(fileName, pFrame-m_hWnd);上面的代码将在一个Picture控件中显示指定的图形。另外,需要包含“dbmain.h”头文件。18.ARX调用trim的方法acedCommand(RTSTR,_T(trim),RTENAME,entName,RTSTR,_T(),RTSTR,_T(f),RTPOINT,pnt1,RTPOINT,pnt2,RTSTR,_T(),RTSTR,_T(), 0);19.判断两个double型的数是否相等判断两个double型不要用=要这样:if(fabs(d-f)CStringac
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 胸壁引流管的护理
- 《羿射九日》课件
- 公司消费安全培训建议课件
- 行政许可法律解读课件
- 急性心肌梗死的识别与护理
- 2025输送带设备采购合同范本
- 2025简易供求合同协议
- 广东省汕尾市陆丰市2023-2024学年高一上学期期中考试语文试题及答案
- 项目经理岗位年终工作总结
- 2025年期货居间人合同范本
- 急危重症患者的抢救应急处理预案及流程
- 班主任基本功大赛评分标准
- 额窦手术课件
- 电梯井道圈梁加固工程施工方案
- 流感疫苗项目市场营销策略方案
- 财务代理记账报税合同模板
- HY_T 0330-2022 海滩养护与修复工程验收技术方法
- 十四条经络养生课件
- 清洁生产的实施途径
- 钢结构厂房监理实施细则
- 个人信用信息查询授权书
评论
0/150
提交评论