碧波液压网 欢迎你,游客。 登录 注册

基于PLINE文字的黑体字生成方法

版权信息:站内文章仅供学习与参考,如触及到您的版权信息,请与本站联系。

  很多AutoCAD的用户由于没有黑体字的字体文件而写不出真正的黑体字。一张图纸上黑体字所占的份量可能不大,但很多时候是需要的。不少用户为了取得黑体字的效果,采取了将单线字进行阵列、用特定的颜色表示、用空心字来代替等处理方法。用单线字进行阵列或用空心字来代替,其效果不能令人满意。即使用颜色表示也有许多不便,如它将受到输出时颜色是否能够关闭、不同专业成果共享时约定是否一致等限制。更主要的是这里有相当多的用户具有写PLINE 文字的工具。通过购买AutoCAD、专门的汉字环境或商品化的CAD软件都有可能获得这样的工具,而且这样的工具目前在国内已是相当普及。它的用户就可以不用黑体字的字体文件,而是通过PLINE文字来生成黑体字。

  1 用PLINE生成黑体字的一般方法

  通过PLINE文字来生成黑体字一般的处理方式是:①直接写出PLINE文字或将写出的文本文字通过文字“炸碎”工具将其变为PLINE文字, 这时的文字已不是文本而是多义线了。这样就可以通过人工调用PEDIT命令对文字的线宽进行修改,就可以生成黑体字,但效率非常低。②先为PLINE文字设定线宽,然后再写PLINE文字或再进行文字“炸碎”。这样就可以写出给定笔宽的黑体字。它的不足之处是,如果给出的宽度不合适,那将面临宽度的修改问题,同时写出的黑体字容易出现“锯齿”。鉴于此我们给出了一种基于PLINE文字的实用高效的黑体字生成方法。

  2 高效的黑体字生成方法及实例

  由PLINE文字生成黑体字,实际上是一个多义线的编辑问题,其核心是编辑的效率和编辑的效果问题。这一点恰恰体现了PEDIT命令的不足。因为不管一次给了它多少目标,它每次只能对一个目标进行编辑,而且剩下的目标还得重新选择,这是人工编辑效率低下的最主要原因。用AutoLisp可以解决编辑效率和编辑效果的问题。

  实现的方法是将要编辑的目标通过C或W方式选入选择集,然后用PEDIT命令对每个目标进行编辑。这样就可以很好地解决编辑的效率问题。同时, 经过多次试验发现在进行线宽编辑时对多义线进行“S”拟合可以很好地解决由于线宽的修改而出现的“锯齿”问题,而且拟合后的文字形状基本不变,这又解决了编辑的效果问题。

  下面给出了AutoLisp语言的实现实例。

(defun c:htz ()

(initget 1)

(setq xxk (getreal“n笔宽:”))

(initget 1“C W”)

(setq gjj (getkword“n方式C,方式W:”))

(while (setq pt1 (getpoint“n第1角:”))

(initget 1)

(setq pt2 (getcorner pt1“n第2角:”))

(setq xzj (ssget gjj pt1 pt2 (list (cons 0

“POLYLINE”)(CONS 8“HTZC”))))

你没有登陆,无法阅读全文内容

您需要 登录 才可以查看,没有帐号? 立即注册

标签:
点赞   收藏

相关文章

发表评论

请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。

用户名: 验证码:

最新评论