Grasshopper里有没有好用的textobject(文字物件)插件?

textobject.gh (16.1 KB)txtLine-0.8.61-2.gh (4.2 KB)
我找了几个类似犀牛里textobject的gh插件,但都多多少少有点问题:textobject.gh不能读取我电脑上的某几个字体,并且在环形排列文字时,有些字母的朝向不对;还有一个不能按字符中心排列(txtLine.gh),输出的文字出现在plane中心的的右下角,没办法水平和垂直居中。

第一个插件是python写的,它可以调节字符间距(space)和字符排列对齐方式;第二个插件是c#写的,优点是可以读取所有安装的字体。本来觉得第二个足够好了,只要添加一点点代码添加文本的对齐功能就可以了,我在RHINO COMMON API这里找到可能要加的功能: TextVerticalAlignment EnumerationTextHorizontalAlignment Enumeration 但是我不会c#,不知道用正确的语法加进去 :sweat_smile:

不知道有没有大神可以指导一下,或者有现成的textobject插件可以用用。感激指教。 :star_struck: :star_struck:

txtLine.gh: giuliopiacentino.com/grasshopper-tools/
textobject.gh Text Outline GHPython | Food4Rhino

新人发帖不能发超过2个链接,所以在回复里贴出来了

(https://developer.rhino3d.com/api/RhinoCommon/html/T_Rhino_DocObjects_TextHorizontalAlignment.htm)
和(https://developer.rhino3d.com/api/RhinoCommon/html/T_Rhino_DocObjects_TextVerticalAlignment.htm)

推荐一个第三方的插件給你,

2 个赞

已经装了human,用过最右边这个JUSTIFIEDTEXT3D, 但是它bake之后出来的是文字,没法挤出。而且它右边接不了电池,不能进一步做参数化操作。我需要挤出文字成实体并沿着曲面的法线方向排列 :smiling_face_with_tear:

原来如此,你需要支持单线的运算器,例如 OpenNest 中的 Text

嗯,这样是可以挤出。不过,本意是想用平面设计里的一些字体,比如optima和copperplate之类的。

没错,你可以指定字体的大小、名字、加粗与斜体等设置,

恩恩,不过我同时也需要把整个文字按字符的中心位置定位。OpenNest 这个插件一旦换成自定字体,就会把文字输出在plane中心的右下角,而不是中心点上居中对齐。

我建议你确定下你的字体名称是否有写正确。我测试了这个文件以及你提到的字体,并没有问题。要注意的是有些字体是不支持中文的,因此中文会被替换成其他字体显示。

这个你应该贴程序出来。哪里朝向不对,这些只有看了程序才知道,也许并不是生成文字物件这个环节出的问题。

位置可以自己定义,这个在GH中并不难实现,如果你需要特别傻瓜的方法,可能 FabTools 更适合你“偷懒”


circluar text arrangement.gh (21.4 KB)

比如这里,平面方向应该都是一致朝着曲线的切线方向,但是在这张图里,一半的E是反过来的。


如果在倾斜的圆环面上,有些字母不仅左右颠倒了,而且有的上下也是反的 :disappointed_relieved: 不知道为啥了唔

很明显是放置文字对象的CPlane 方向不一致造成,你这里可以尝试使用 Horizontal Frame 运算器来对圆等分点


改用了horizontal frame,感觉还是这个python 插件的问题。。。

我觉得你需要变通的思考这个问题,无论是借助插件还是找别人写好的脚本,可能它们本身的功能并不能完全符合你的要求(甚至还有bug),但是你可以想办法搭建出符合你预期的功能,这也是参数化的灵活性带来的好处,而不是完全去依赖工具。

↓下图中 紫色的运算器组 就是将你找到的py脚本结合GH中的物件定位工具搭建起来的一个非常基本但是又很通用的功能。

好的,这个orient功能真的挺好用的。按照截图里的方式连接之后,字母真的按照正确的方式排列了。

我在 openDDL | Digital Designに関する共有サイト 找到了c#的句法,依葫芦画瓢加上两句代码之后,这个插件终于可以居中对齐了。虽然还不知道怎么在电池输入端加入控制器,不过用的时候进入代码把Bottom改成Middle之类的就行了。

1 个赞