明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1303|回复: 1

[ARX]请高手们指点一下

[复制链接]
发表于 2006-1-4 20:31:00 | 显示全部楼层 |阅读模式

如果知道两点坐标

用ARX如何实现尺寸标注?可以的话给个程序段源码。

在线等,请高手们指点

另外,我下面的函数写出的字体的宽度系数和设置的宽度系数不一致,其他没问题

请帮忙看一下,哪里有问题,谢谢!

Acad::ErrorStatus es;
  AcDbTextStyleTable *pTsTable;

  es = curDoc()->database()->getSymbolTable(pTsTable,AcDb::kForRead);
  if (es != Acad::eOk)
  {
   AfxMessageBox("Couldn't get the text style table.");
  }

  CString theFont = "宋体";

  if (!pTsTable->has((LPTSTR)(LPCSTR)theFont))
  {
   AcDbTextStyleTableRecord *pStyle = new AcDbTextStyleTableRecord;

   pStyle->setFont((LPTSTR)(LPCTSTR)theFont,Adesk::kFalse,Adesk::kFalse,0,34);
   pStyle->setFileName(theFont);
   pStyle->setBigFontFileName(theFont);

   pStyle->setTextSize(8);
   pStyle->setXScale(0.3);
   pStyle->setObliquingAngle(0);
   pStyle->setName(theFont);
   pStyle->setIsShapeFile(Adesk::kFalse);
   pStyle->setIsVertical(Adesk::kFalse);

   pTsTable->upgradeOpen();
   es = pTsTable->add(pStyle);
   if (es != Acad::eOk)
   {
    CString message;
    message.Format("%d",es);
    AfxMessageBox(message);
   }
   pStyle->close();
  }

  AcDbObjectId styleId;

  es = pTsTable->getAt(theFont,styleId);
  if (es != Acad::eOk)
  {
   CString message;
   message.Format("%d",es);
   AfxMessageBox(message);
  }


  pTsTable->close();
 

  AcDbText * text = new AcDbText(AcGePoint3d(10,10,0),"你好",styleId,8,0);
  AcDbBlockTable *pBlockTable;
  acdbHostApplicationServices()->workingDatabase()->getSymbolTable(pBlockTable,AcDb::kForRead);
  AcDbBlockTableRecord *pBlockTableRecord;
  pBlockTable->getAt(ACDB_MODEL_SPACE,pBlockTableRecord,AcDb::kForWrite);
  pBlockTable->close();
  AcDbObjectId textId;
  es = pBlockTableRecord->appendAcDbEntity(textId,text);
 
  text->close();
  pBlockTableRecord->close();

发表于 2006-1-5 12:09:00 | 显示全部楼层

AcDb3PointAngularDimension::AcDb3PointAngularDimension 函数

AcDb3PointAngularDimension(

const AcGePoint3d& centerPoint,

const AcGePoint3d& xLine1Point,

const AcGePoint3d& xLine2Point,

const AcGePoint3d& arcPoint,

const char* dimText = NULL,

AcDbObjectId dimStyle = AcDbObjectId::kNull);

centerPoint

输入被标注的角度的中点(顶点)(在WCS中)

xLine1Point

输入第一条界线的开始点(在WCS中)

xLine2Point

输入第二条界线的开始点(在WCS中)

arcPoint

输入将在标注弧上的一个点

dimText

输入作为标注文本的文本字符串

dimStyle

输入要使用的AcDbDimStyleTableRecord的对象ID

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

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-26 01:29 , Processed in 0.184283 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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