找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 2415|回复: 7

[求助] 求一文字上相镜像 文字的位子不变的lisp

[复制链接]
发表于 2014-2-20 17:17:10 | 显示全部楼层 |阅读模式

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

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

×
求一位子上下镜像的lisp,,我把文字改为对中对其,,在用特性选项吧角度改为90度,,可是文字的位子就跑偏了,,,啪啪的,,不给力呀,,!

效果

效果
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
 楼主| 发表于 2014-2-20 17:35:01 | 显示全部楼层
我找到了,,,,用et的文本旋转功能就可以了,,
QQ图片20140220171512.jpg
QQ图片20140220173310.jpg
QQ图片20140220173432.jpg
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

已领礼包: 1268个

财富等级: 财源广进

发表于 2014-2-20 17:49:59 来自手机 | 显示全部楼层
有个文本对齐命令,可以修改对齐方式位置不变

点评

呵呵,,我找到一个cad自带的,, void changeTextInnerAlign() { //使用以下代码可以更换文本对齐方式,而不改变文字位置: ads_name name,ent; AcDbEntity *pObj; AcDbObjectId ObjId;  详情 回复 发表于 2014-2-20 20:19
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2014-2-20 20:19:54 | 显示全部楼层
st788796 发表于 2014-2-20 17:49
有个文本对齐命令,可以修改对齐方式位置不变

呵呵,,我找到一个cad自带的,,

void changeTextInnerAlign()
{
  //使用以下代码可以更换文本对齐方式,而不改变文字位置:
  ads_name name,ent;
  AcDbEntity *pObj;
  AcDbObjectId ObjId;
  long length=0;
  
acutPrintf(_T("\n选择需要对齐的文本实体:"));
if(acedSSGet(NULL,NULL,NULL,NULL,name)!=RTNORM) return;
acedSSLength(name,&length);

ArxDbgUiPrKeyWordDef prAlignType(_T("修改后的对齐方式[左对齐(L)/水平居中(M)/右对齐(R)]"),
   _T("L M R"), _T("L"));
if (prAlignType.go() != ArxDbgUiPrBase::kOk)
return ;
CString Justify;
if (prAlignType.isKeyWordPicked(_T("L")))
   Justify = "左对齐";
else if (prAlignType.isKeyWordPicked(_T("M")))
   Justify = "水平居中";
else if (prAlignType.isKeyWordPicked(_T("R")))
   Justify = "右对齐";
else
{
   ASSERT(0);
   return ;
}

int i; for( i=0;i<length;i++)
{
   acedSSName(name,i,ent);
   acdbGetObjectId(ObjId,ent);
   acdbOpenObject(pObj,ObjId,AcDb::kForWrite,Adesk::kFalse);
  
   AcDbExtents extents1, extents2;
  
  
   if(pObj->isKindOf(AcDbText::desc()))//普通文本
   {
      AcDbText *pText=AcDbText::cast(pObj);
     
      pText->getGeomExtents(extents1);      
      if(Justify==_T("左对齐")) pText->setHorizontalMode(AcDb::kTextLeft);
      else if(Justify==_T("右对齐")) pText->setHorizontalMode(AcDb::kTextRight);
      else if(Justify==_T("水平居中")) pText->setHorizontalMode(AcDb::kTextCenter);
      else pText->setHorizontalMode(AcDb::kTextLeft);
      pText->setVerticalMode(AcDb::kTextBase);      
     
   }
   else if(pObj->isKindOf(AcDbMText::desc()))//多行文本
   {
      AcDbMText *pMText=AcDbMText::cast(pObj);
     
      pMText->getGeomExtents(extents1);   
      if(Justify==_T("左对齐"))
      {
         if(pMText->attachment()==AcDbMText::kTopCenter ||
            pMText->attachment()==AcDbMText::kTopRight)
            pMText->setAttachment(AcDbMText::kTopLeft);
         else if(pMText->attachment()==AcDbMText::kMiddleCenter ||
            pMText->attachment()==AcDbMText::kMiddleRight)
            pMText->setAttachment(AcDbMText::kMiddleLeft);
         else if(pMText->attachment()==AcDbMText::kBottomCenter ||
            pMText->attachment()==AcDbMText::kBottomRight)
            pMText->setAttachment(AcDbMText::kBottomLeft);
      }
      else if(Justify==_T("水平居中"))
      {
         if(pMText->attachment()==AcDbMText::kTopLeft ||
            pMText->attachment()==AcDbMText::kTopRight)
            pMText->setAttachment(AcDbMText::kTopCenter);
         else if(pMText->attachment()==AcDbMText::kMiddleLeft ||
            pMText->attachment()==AcDbMText::kMiddleRight)
            pMText->setAttachment(AcDbMText::kMiddleCenter);
         else if(pMText->attachment()==AcDbMText::kBottomLeft ||
            pMText->attachment()==AcDbMText::kBottomRight)
            pMText->setAttachment(AcDbMText::kBottomCenter);
      }
      else if(Justify==_T("右对齐"))
      {
         if(pMText->attachment()==AcDbMText::kTopLeft ||
            pMText->attachment()==AcDbMText::kTopCenter)
            pMText->setAttachment(AcDbMText::kTopRight);
         else if(pMText->attachment()==AcDbMText::kMiddleLeft ||
            pMText->attachment()==AcDbMText::kMiddleCenter)
            pMText->setAttachment(AcDbMText::kMiddleRight);
         else if(pMText->attachment()==AcDbMText::kBottomLeft ||
            pMText->attachment()==AcDbMText::kBottomCenter)
            pMText->setAttachment(AcDbMText::kBottomRight);
      }      
   }
   pObj->close();
  
   AcDbEntity *pEnt = NULL;
   acdbOpenObject(pEnt, ObjId, AcDb::kForWrite);
   if (pEnt == NULL)
      return;
   pEnt->getGeomExtents(extents2);
   AcGeVector3d vec = extents1.minPoint() - extents2.minPoint();
   pEnt->transformBy(AcGeMatrix3d::translation(vec));
   pEnt->close();
}
}
这是网上看到的,,貌似是vba的,,,可是不会用!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 1268个

财富等级: 财源广进

发表于 2014-2-20 21:03:53 来自手机 | 显示全部楼层
这是arx,非vba

点评

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

使用道具 举报

发表于 2014-2-20 21:33:37 | 显示全部楼层

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

使用道具 举报

已领礼包: 1268个

财富等级: 财源广进

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-28 04:25 , Processed in 0.423232 second(s), 46 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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