BlenderCN论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1632|回复: 7

曲线闭合变开放,形态保持不变

[复制链接]
发表于 2013-7-13 13:08:45 | 显示全部楼层 |阅读模式
最近工作的一些副产品,或许有用。用法和作用见gif。
xx.gif
  1. import bpy
  2. class CloseToOpen(bpy.types.Operator):
  3.     bl_idname = "bpt.close_to_opens"
  4.     bl_label = "Close to Opens"
  5.     bl_options = {'REGISTER', 'UNDO'}
  6.     @classmethod
  7.     def poll(cls, context):
  8.         ob=context.object
  9.         if ob!=None and ob.type=='CURVE' and context.mode=='EDIT_CURVE':
  10.             return True
  11.         return False
  12.     def execute(self, context):
  13.         
  14.         cv=context.object
  15.         bpy.ops.curve.select_all(action='SELECT')
  16.         bpy.ops.curve.handle_type_set(type='ALIGNED')
  17.         bpy.ops.curve.select_all(action='DESELECT')
  18.         for spl in cv.data.splines:
  19.             if spl.use_cyclic_u:
  20.                
  21.                 co=spl.bezier_points[0].co[:]
  22.                 left=spl.bezier_points[0].handle_left[:]
  23.                 right=spl.bezier_points[0].handle_right[:]
  24.                 spl.bezier_points.add(1)
  25.                
  26.                 spl.bezier_points[-1].co=co
  27.                 spl.bezier_points[-1].handle_left=left
  28.                 spl.bezier_points[-1].handle_right=right
  29.                
  30.                 spl.bezier_points[0].select_control_point=True
  31.                 spl.use_cyclic_u=False
  32.         return {'FINISHED'}
  33. def register():
  34.     bpy.utils.register_module(__name__)
  35.    
  36. def unregister():
  37.     bpy.utils.unregister_module(__name__)

  38. if __name__ == "__main__":
  39.     register()
复制代码



发表于 2013-7-13 14:23:10 | 显示全部楼层
就是“锚点”的“断开”吧,这个挺有用的……

其实样条线编辑模式下,也应该有“点”“线”这样的次物体模式,这样编辑起来才方便些。

有 close to opens,那与之对应的“焊接(opens to close)类似 ALT+ M”也有吧?


blender  的样条编辑功能太弱了,除了“焊接”,类似 J 的“连接”(新增线),“聚集”(顶点只是重合不合并),之类的功能一概都没……

不过最重要的还是缺少类似 CorelDRAW 或 Illustrator 那样的二维图形的“布尔”和“修剪”,这在画一些图形时很有用……

点评

2D绝对是inkscape好用,我在blender弄曲线的想法是取代Rhino,甚至grasshopper。 用polygon精确建模。  详情 回复 发表于 2013-7-13 14:50
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-7-13 14:40:22 | 显示全部楼层
分享一个技巧,你说的这些全部搞定,用inkscape,2d能力绝对比CoreDRAW,AI之类好用。然后svg直接导入blender,完美!

点评

真的吗?好好学学  详情 回复 发表于 2013-7-14 14:05
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-7-13 14:50:13 | 显示全部楼层
云风如我 发表于 2013-7-13 14:23
就是“锚点”的“断开”吧,这个挺有用的……

其实样条线编辑模式下,也应该有“点”“线”这样的次物体模 ...

aa.png
2D绝对是inkscape好用,我在blender弄曲线的想法是取代Rhino,甚至grasshopper。
用polygon精确建模。

点评

恩,我也是通过第三方软件转换成 SVG 解决的。目前也只能这样。 当然,如果能在一个软件里完成就更好了,就像不用切换到 ZB 就能雕刻一样。 你这个晶格很有用哦,BL 默认的晶格功能也很弱,基础形体只能用个正方体  详情 回复 发表于 2013-7-13 15:07
回复 支持 反对

使用道具 举报

发表于 2013-7-13 15:07:52 | 显示全部楼层
luxuy 发表于 2013-7-13 14:50
2D绝对是inkscape好用,我在blender弄曲线的想法是取代Rhino,甚至grasshopper。
用polygon精确建模。

恩,我也是通过第三方软件转换成 SVG 解决的。目前也只能这样。

当然,如果能在一个软件里完成就更好了,就像不用切换到 ZB 就能雕刻一样。

你这个晶格很有用哦,BL 默认的晶格功能也很弱,基础形体只能用个正方体调来调去,

如果调整对象是个类似圆柱体的,想自己调个圆柱晶格出来(“铸形”啥的根本没用),然后再进行变形都不行……
回复 支持 反对

使用道具 举报

发表于 2013-7-14 14:05:14 | 显示全部楼层
luxuy 发表于 2013-7-13 14:40
分享一个技巧,你说的这些全部搞定,用inkscape,2d能力绝对比CoreDRAW,AI之类好用。然后svg直接导入blend ...

真的吗?好好学学

点评

当然是真的  详情 回复 发表于 2013-7-16 12:56
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-7-16 12:56:01 | 显示全部楼层
U盘II 发表于 2013-7-14 14:05
真的吗?好好学学

当然是真的
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-7-16 13:04:27 | 显示全部楼层
luxuy 发表于 2013-7-16 12:56
当然是真的

svg.gif
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

Blender最新中文教学视频|Blender头条|小黑屋|手机版|Archiver|Blender中国 ( 蜀ICP备17002929号 )360网站安全检测平台

GMT+8, 2019-11-12 17:35 , Processed in 0.024921 second(s), 27 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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