明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 3117|回复: 7

[图元] 关于钢筋符号的代码问题-很是头疼啊

[复制链接]
发表于 2011-6-18 22:29 | 显示全部楼层 |阅读模式
最近想做一个关于配筋方面的辅助工具,本来网上有Arx的,但是只能找到06版的,而我一般用2010版的CAD,所以没法用,想自己做一个。但是在识别钢筋符号上碰到了一个很头痛的问题。
如下面这样的带钢筋符号的标注(这是个单行文本)
,我希望是采用那种鼠标悬停到这个标注上的时候,就读出这个标注的内容,然后进行一定的处理,通过悬停提示给出配筋面积。
我用vlisp编了个小程序,作用是获得这个标注字符串,然后用(vl-string->list)把它全部转换成ASCII码的一个表。然后用vb.net编了一个,类似的,获得悬停的对象后,通过DBText对象的textstring获得这个标注的内容,然后通过一个函数也把它转化成ASCII码的字符串。
但是问题出现了。如果是第一次打开图(这个图并不是指特定图,也就是图本身没问题,准确点说是这个标准未经编辑之前),用vlisp命令点击上面那个串获得的ASCII码表是(49 54 92 85 43 48 48 56 52 50 53),翻译过来的字符串是“16\U+008425”,其实我知道\U+0084就是那个三级钢的符号。但是用我编写vb.net的程序,得到的结果确是:
,如图(49 54 63 50 53),翻译过来的字符串是“16?25”,这个三级钢符号变成了问号的ASCII码了。
如果,我双击这个标注,进入单行文字编辑状态,但是不进行任何编辑,又退出来。在进行上面的两部操作,用vlisp程序获得的ASCII码表是(49 54 37 37 49 51 50 50 53),翻译过来是“16%%13225”,这时三级钢符号变成了%%132。再用那个vb.net程序,得到的结果是:
,如图(49 54 37 37 49 51 50 50 53),这时的结果才与vlisp的结果一样。
不管是%%132还是\U+0084我都有办法。。可是才打开,没进入编辑一下的时候,从.net程序里面三级钢符号读出来的居然是?号的ASCII码?那我怎么区分啊这个符号啊?而且不管一级钢,二级钢还是三级刚,这个标注未经编辑之前都是?,显然就没法知道到到底是几级钢了!
这个问题在vb.net里面怎么解决啊?各位有没有什么更好的方法?
这么看来,其实用vlisp做字符处理就完全没问题了,但是显示方面,我又要借助vb.net的功能。。真是头疼啊!!

本帖子中包含更多资源

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

x
发表于 2012-9-25 16:43 | 显示全部楼层
我用vlisp,想编一个类似的程序,连\U+0084这个就解决不了,求指导
发表于 2012-9-26 21:45 | 显示全部楼层
你干嘛要转换成ASCII,直接对string进行处理就行了。
发表于 2012-9-26 22:45 | 显示全部楼层
问题解决了:直接把所有字符串里面的\U+什么的全部替换掉成%%13*的形式,vl-string-subst
发表于 2012-9-28 11:32 | 显示全部楼层
使用字体 fsdb ,fsdb_e 然后使用^   & 就行了。
发表于 2012-10-15 20:40 | 显示全部楼层
这个问题我也遇到了,我也在用vb.net 处理配筋问题
在06,08没问题,在10就出现了。

兄弟你有没有解决啊

本帖子中包含更多资源

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

x
发表于 2012-10-15 20:42 | 显示全部楼层
文字双击,不做任何编辑,确定后,在对象特性中就变了

本帖子中包含更多资源

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

x
发表于 2014-5-8 22:33 | 显示全部楼层
很好的问题,关注
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-4-19 10:17 , Processed in 0.875443 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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