badboy518 发表于 2006-1-20 15:55:00

关于文字位置的问题,能显示,但位置不对

<P>执行下面的两行后,文本怎么老是在原点0,0,0 处?</P>
<P>&nbsp;pydmText-&gt;setHorizontalMode(AcDb::kTextMid );</P>
<P>&nbsp;pydmText-&gt;setPosition(AcGePoint3d(BX,BY,0));</P>

Keith511 发表于 2006-1-20 16:52:00

<P>把整个函数写出来,只写两行叫别人怎么看呢。</P>
<P>&nbsp;</P>
<P>你可以调试看看setPosition的返回值是什么</P>

binbinxx 发表于 2006-1-20 22:10:00

<DIV><BR>setAlignmentPoint<BR></DIV>

Keith511 发表于 2006-1-21 09:10:00

<P>你是不是没有append到BlockTalbe里啊,把整个函数写出来</P>

badboy518 发表于 2006-1-21 12:53:00

本帖最后由 作者 于 2006-2-8 13:33:23 编辑 <br /><br /> <P>还是不行。。。</P>
<P>void test()<BR>{<BR>&nbsp;AcDbText* pydmText;<BR>&nbsp;AcGePoint3d pt;<BR>&nbsp;pt.x=100.0; pt.y=100.0; pt.z=0;</P>
<P>&nbsp;&nbsp;pydmText=new AcDbText(pt,"badboy",&nbsp;AcDbObjectId::kNull,3,0);<BR>&nbsp;&nbsp;pydmText-&gt;setAlignmentPoint(pt);&nbsp;<BR>&nbsp;&nbsp;pydmText-&gt;setHorizontalMode(AcDb::kTextCenter);<BR>&nbsp;&nbsp;pydmText-&gt;setVerticalMode(AcDb::kTextVertMid);<BR>&nbsp;&nbsp;pydmText-&gt;setPosition(pt);</P>
<P>AcDbObjectId idydm;<BR>&nbsp;<BR>postToDatabase(pydmText, idydm);//加入到数据库<BR>}</P>

badboy518 发表于 2006-2-8 13:37:00

<P>今天发现这个问题按各位说的,还是没解决好。生成的文字在0,0处。</P>

badboy518 发表于 2006-2-8 13:48:00

<P>不好意思,我又试了一下,成功了。如下:</P>
<P>void aqq()<BR>{<BR>&nbsp;AcDbText* pydmText;<BR>&nbsp;AcDbObjectId idydm=NULL;<BR>&nbsp;AcGePoint3d pt;<BR>&nbsp;pt.x=100.0; pt.y=100.0; pt.z=0;</P>
<P>&nbsp;&nbsp;pydmText=new AcDbText(pt,"badboy",idydm,2,0);<BR>&nbsp;<BR>&nbsp;&nbsp;pydmText-&gt;setHorizontalMode(AcDb::kTextCenter);<BR>&nbsp;&nbsp;pydmText-&gt;setVerticalMode(AcDb::kTextVertMid);</P>
<P>&nbsp;&nbsp;pydmText-&gt;setAlignmentPoint(pt);</P>
<P>&nbsp;<BR>postToDatabase(pydmText, idydm);//加入到数据库<BR>}</P>
页: [1]
查看完整版本: 关于文字位置的问题,能显示,但位置不对