找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 3705|回复: 7

[分享] 把我收集的贴一个

[复制链接]
发表于 2014-3-31 20:56:52 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
   自定义的类 大家可以使用 也可以扩充一下啊
  1. #include "StdAfx.h"
  2. #include "ModifyEnt.h"

  3. ModifyEnt::ModifyEnt(void)
  4. {
  5. }

  6. ModifyEnt::~ModifyEnt(void)
  7. {
  8. }
  9. Acad::ErrorStatus ModifyEnt::ChangeColor(AcDbObjectId entId, Adesk::UInt16 colorIndex)
  10. {
  11.    AcDbEntity *pEntity;
  12.    acdbOpenObject(pEntity,entId,AcDb::kForWrite);
  13.    pEntity->setColorIndex(colorIndex);
  14.    pEntity->close();
  15.    return Acad::eOk;
  16. }
复制代码


  1. 这个是CREATENT文件中的代码

  2. // (C) Copyright 2002-2007 by Autodesk, Inc.
  3. //
  4. // Permission to use, copy, modify, and distribute this software in
  5. // object code form for any purpose and without fee is hereby granted,
  6. // provided that the above copyright notice appears in all copies and
  7. // that both that copyright notice and the limited warranty and
  8. // restricted rights notice below appear in all supporting
  9. // documentation.
  10. //
  11. // AUTODESK PROVIDES THIS PROGRAM "AS IS" AND WITH ALL FAULTS.
  12. // AUTODESK SPECIFICALLY DISCLAIMS ANY IMPLIED WARRANTY OF
  13. // MERCHANTABILITY OR FITNESS FOR A PARTICULAR USE.  AUTODESK, INC.
  14. // DOES NOT WARRANT THAT THE OPERATION OF THE PROGRAM WILL BE
  15. // UNINTERRUPTED OR ERROR FREE.
  16. //
  17. // Use, duplication, or disclosure by the U.S. Government is subject to
  18. // restrictions set forth in FAR 52.227-19 (Commercial Computer
  19. // Software - Restricted Rights) and DFAR 252.227-7013(c)(1)(ii)
  20. // (Rights in Technical Data and Computer Software), as applicable.
  21. //

  22. //-----------------------------------------------------------------------------
  23. //- CreatEnt.cpp : Initialization functions
  24. //-----------------------------------------------------------------------------
  25. #include "StdAfx.h"
  26. #include "resource.h"
  27. #include "CreatEnt.h"

  28. //-----------------------------------------------------------------------------
  29. //- DLL Entry Point
  30. extern "C"
  31. BOOL WINAPI DllMain (HINSTANCE hInstance, DWORD dwReason, LPVOID lpReserved) {
  32.   //- Remove this if you use lpReserved
  33.   UNREFERENCED_PARAMETER(lpReserved) ;

  34.   if ( dwReason == DLL_PROCESS_ATTACH ) {
  35.         _hdllInstance =hInstance ;
  36.   } else if ( dwReason == DLL_PROCESS_DETACH ) {
  37.   }
  38.   return (TRUE) ;
  39. }


  40. CCreatEnt::CCreatEnt(void)
  41. {
  42. }

  43. CCreatEnt::~CCreatEnt(void)
  44. {
  45. }
  46. AcDbObjectId CCreatEnt::CreatLine(AcGePoint3d ptStart,AcGePoint3d ptEnd)
  47. {
  48.   AcDbLine *pLine=new AcDbLine(ptStart,ptEnd);
  49.   AcDbObjectId entId;
  50.   entId=CCreatEnt::PostToModelSpace(pLine);
  51.   pLine->close();
  52.   return entId;
  53. }

  54. AcDbObjectId CCreatEnt::PostToModelSpace(AcDbEntity* pEnt)
  55. {
  56.    AcDbBlockTable *pBlockTable;
  57.    acdbHostApplicationServices()->workingDatabase()->getBlockTable(pBlockTable,AcDb::kForRead);
  58.    AcDbBlockTableRecord *pBlockTableRecord;
  59.    pBlockTable->getAt(ACDB_MODEL_SPACE,pBlockTableRecord,AcDb::kForWrite);

  60.    AcDbObjectId entId;
  61.    pBlockTableRecord->appendAcDbEntity(entId,pEnt);
  62.    pBlockTable->close();
  63.    pBlockTableRecord->close();
  64.    pEnt->close();
  65.    return entId;

  66. }

  67. AcDbObjectId CCreatEnt::CreatCircle(AcGePoint3d ptCenter,double radius)
  68. {
  69.   AcDbCircle *pCircle=new AcDbCircle(ptCenter,AcGeVector3d.kZAxis,radius);
  70.   AcDbObjectId CircleId;
  71.   CircleId=CCreatEnt::PostToModelSpace(pCircle);
  72.   return CircleId;
  73.   pCircle->close();
  74. }

  75. //创建图层
  76. AcDbObjectId CCreatEnt::PostToLayer(ACHAR layerName[])
  77. {
  78.   //获取当前图层表记录
  79.   AcDbLayerTable *pLayerTbl;
  80.   acdbHostApplicationServices()->workingDatabase()->getLayerTable(pLayerTbl,AcDb::kForWrite);
  81.    
  82.   //是否已经包含指定的层表记录
  83.   if (pLayerTbl->has(layerName))
  84.   {
  85.     pLayerTbl->close();
  86.     //MessageBox(NULL,_T("图层已存在!"),_T("图层"),MB_OKCANCEL);
  87.       
  88.   }
  89.   
  90.   //创建新的层表记录
  91.   AcDbLayerTableRecord *pLayerTblRcd;
  92.   pLayerTblRcd=new AcDbLayerTableRecord();
  93.   pLayerTblRcd->setName(layerName);
  94.   
  95.   //将新建的层表记录添加到层表中
  96.   AcDbObjectId layerTblRcdId;
  97.   pLayerTbl->add(layerTblRcdId,pLayerTblRcd);
  98.   acdbHostApplicationServices()->workingDatabase()->setClayer(layerTblRcdId);
  99.   pLayerTblRcd->close();
  100.   pLayerTbl->close();
  101.   return layerTblRcdId;
  102. }

  103. AcDbObjectId CCreatEnt::CreatPolyline(AcGePoint2dArray points,double width)
  104. {
  105.   int numVertices=points.length();
  106.   AcDbPolyline *pPoly=new AcDbPolyline(numVertices);
  107.   for (int i=0;i<numVertices;i++)
  108.   {
  109.     /*pPoly->addVertexAt(i,points(i),0,width,width);*/
  110.     pPoly->addVertexAt(i,points[i],0,width,width);
  111.   }
  112.   AcDbObjectId polyId;
  113.   polyId=CCreatEnt::PostToModelSpace(pPoly);
  114.   return polyId;

  115. }
复制代码

CreatEnt.part01.rar

3 MB, 下载次数: 22, 下载积分: D豆 -1 , 活跃度 1

CreatEnt.part02.rar

3 MB, 下载次数: 31, 下载积分: D豆 -1 , 活跃度 1

CreatEnt.part03.rar

3 MB, 下载次数: 31, 下载积分: D豆 -1 , 活跃度 1

CreatEnt.part04.rar

3 MB, 下载次数: 32, 下载积分: D豆 -1 , 活跃度 1

CreatEnt.part05.rar

1.14 MB, 下载次数: 33, 下载积分: D豆 -1 , 活跃度 1

评分

参与人数 1D豆 +10 贡献 +1 收起 理由
XDSoft + 10 + 1 很给力!经验;技术要点;资料分享奖!

查看全部评分

论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 1632个

财富等级: 堆金积玉

发表于 2014-4-2 19:06:34 | 显示全部楼层
希望LZ再接在励{:soso_e179:}
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-4-2 20:45:07 | 显示全部楼层
这个我会不断添加新的函数的!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 1268个

财富等级: 财源广进

发表于 2014-4-2 21:52:36 来自手机 | 显示全部楼层
本帖最后由 st788796 于 2014-4-2 22:02 编辑

关注中,支持一个
很想认识这些符号,可它们不太认我:)

点评

......这个还好!多看看就会了 刚开始我也不会 小龙龙教了些!帮助我入门了!论坛中也有好多我资料可以学习的!  详情 回复 发表于 2014-4-2 22:08
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-4-2 22:08:29 | 显示全部楼层
st788796 发表于 2014-4-2 21:52
关注中,支持一个
很想认识这些符号,可它们不太认我

......这个还好!多看看就会了  刚开始我也不会  小龙龙教了些!帮助我入门了!论坛中也有好多我资料可以学习的!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2014-5-6 21:48:46 | 显示全部楼层
楼主辛苦了,先赞一个
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2014-5-8 14:59:58 | 显示全部楼层
学习一下,非常感谢
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-4-24 21:58 , Processed in 0.200888 second(s), 48 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表