自动加载样式设置代码
大家好对于以下代码。
(if (= (tblsearch "style" "standard") nil)
(command "_.-style" "standard" "Arial" 3.5 0.666 0.0 "" "" "")
(command "_.-style" "standard" "Arial" 3.5 0.666 0.0 "" "" "")
)
如果我在命令行中键入它们。一切顺利
但是当我将它们保存在lsp文件中,然后使cad自动加载该文件时。帮助文件总是跳出。我发现在输出日志中
执行“帮助”。这让我很困惑。有人能帮我吗?谢谢
在同一个命令上显示两种样式。Standard已在图形中,是已安装的ACAD字体的名称,不应用作其他样式的名称。叫他们别的什么,只是不要叫他们吃饭迟到。Arial是一种true type字体(TTF),它不需要命令中的最后一个“”。您确实不应该在字体样式中指定高度,否则所有宋体文本都将被限制在该高度。当你写一些需要文本的东西时,你可以设置它,但这取决于你。你的选择。
这是TTF类型字体的格式。
(if (null (tblsearch "style" "MyFont1"))
(command "._STYLE" "MyFont1" "arial.TTF" "0.0" "1.0" "0.0" "_N" "_N" ))
以下是SHX类型字体的格式。
(if (null (tblsearch "style" "MyFont2"))
(command "._STYLE" "MyFont2" "romans.shx" "0.0" "1.0" "0.0" "_N" "_N" ""))
注意两者之间的细微差别。 非常感谢。
深入了解更多。我找到了中文字体。应该是这样的。
(defun build_style(/)
(if (= (tblsearch "style" "标准") nil)
(command "_.style" "标准" "楷体_GB2312" "0.0" "0.666" "0.0" "_N" "_N")
(command "_.style" "标准" "楷体_GB2312" "0.0" "0.666" "0.0" "_N" "_N")
)
)
不应添加“.TTF”。或将给出搜索字体错误。
这是另外一回事。我不确定这将如何工作,但它们肯定不是TTF字体。你为什么需要这个中文版本? 如果您使用的是中文版的ACAD,我会查看您选择的中文字体的文件扩展名是多少。
除此之外,我不能给你一个更好的答案,除非论坛上的另一个用户使用类似的东西。 我来自中国,实际上我正在为cad写一个工具,使我的工作更方便。但我只是个初学者。这么多
麻烦战胜了我眨眼:
类似于这些代码。我昨天跑得很好。但现在它失败了。cad给出错误:无函数定义:VLAX-ENAME->VLA-OBJECT
我在谷歌上搜索它。它说我应该添加“vl load com”,我已经这样做了。但一切都没有改变。错误仍在继续。
@buzzard,你知道这件事吗?谢谢
(defun c:drawing_retangle_for_text(/)
vl-load-com
(setq dd 0.5)
(print "\nplease choose the texts.")
;(setvar "osmode" 0)
(setq ss (ssget))
(setq i 0)
(repeat (sslength ss)
(setq ssn (ssname ss i))
(setq ssdata (entget ssn))
(setq key (cdr (assoc 0 ssdata)))
(if (= key "MTEXT")
;then
(progn
(vla-GetBoundingBox (vlax-ename->vla-object ssn) 'obj1 'obj2)
;(setq p1 (vlax-safearray->list (vlax-variant-value obj1)))
;(setq p3 (vlax-safearray->list (vlax-variant-value obj2)))
(setq p1 (safearray-value obj1))
(setq p3 (safearray-value obj2))
;(print "hi")
(command "_.rectangle" p1 p3 "")
;(print "hi")
(setq ee (entlast))
(command "_.offset" dd (list ee p1) (polar p3 (/ pi 2) dd) "")
(entdel ee)
)
)
)
;(command "ucs" "")
(princ)
) 好的,我找到了原因。这是我的错。
应该是这样的
(vl-load-com) 好啊
我在帮助部分找到了这个。
备用字体变量FONTALT
指定在AutoCAD找不到原始字体且字体映射文件中未指定替代字体时要使用的字体文件的位置。也可以使用FONTALT系统变量设置备用字体文件的位置。
如果未通过“选项”对话框或FONTALT系统变量指定替代字体,则当打开包含AutoCAD无法定位的字体的图形时,将显示一个类似的对话框,从中可以为每个缺少的字体指定要使用的字体。
字体名称
列出AutoCAD fonts文件夹中所有注册TrueType字体和所有AutoCAD SHX字体的字体族名称。从列表中选择名称时,AutoCAD将读取指定字体的文件。
字体样式
指定字体字符格式,例如斜体、粗体或常规。如果缺少的字体是大字体,此选项将更改为大字体,并列出所有可用的亚洲语言大字体文件。
我想应该就这样了。我不知道你正在使用VL代码,因为它没有被提及。祝你好运 我猜这与这条线索有关:
http://www.cadtutor.net/forum/showthread.php?52968-绘制文本矩形
也许也可以看看这里:
http://www.cadtutor.net/forum/showthread.php?52031-文本的起点和终点&p=352471&viewfull=1#post352471
页:
[1]
2