您好,欢迎访问三七文档
当前位置:首页 > 财经/贸易 > 综合/其它 > 大水牛出品GH+ghpython入门教程
制作⾃⼰经常使⽤的组制作⾃⼰经常使⽤的组制作⾃⼰经常使⽤的组制作⾃⼰经常使⽤的组GH中有太多运算器了之前数过⼀次⼤概78百个⽽根据⾃⼰使⽤情况有些可能经常⽤到的,有些是冷门运算器⽽⾃⼰经常⽤的可能由好多单独运算器组合在⼀起的如果会代码可能⼀个运算器就搞定⽽退⽽求次不会代码的GH也提供了⽐较便捷简单组合UserObjects从外观看也是⼀个运算器,,,,,,1我⾃⼰制作的⼀些组件如上图所⽰这些是我使⽤率⽐较⾼的组合运算器有的是⾃⼰组的有的从别的地⽅看到然后组合在⼀起⼀切便于⾃⼰使⽤⽅便。2制作的组件实例上⾯截图第⼀个减少⼩数点后⼏位数字通过Y端控制对于本⼈来说,总是记不住英⽂尴尬第⼆个运算器判断重复曲线下⾯以实际例⼦说明如何制作这些组制作⾃⼰的电池步骤讲解以相交曲线的打断为例我们如果想求出来曲线或者线段之间打断可能犀⽜⽐较便捷⽽实际GH没有直接提供运算器,⽽只提供了⼏个运算器如图⼀根曲线通过Shattert值来打断线⽽这个t值可能通过MultipleCurves等运算器来求出来,(具体学习还是在于⾃⼰的)这篇只是讲解如何制作组件的,像这样的问题为例⽅便我们下次遇到同样的问题好操作,所以需要⾃⼰打包⼀个⾃⼰的组件。这个就是组⾥⾯运算器由多个运算器组合⽽成的⼀个组运算器。如果你观察运算器就会发现⼀个运算器(由输⼊端图标及输出端)三部分上⾯运算器可以看出来输⼊端是由(曲线),输出端想求出来(求出来的曲线相交的点每根曲线被相交线分成⼏段)1第⼀步先做出来你需要组合运算器2第⼆步替换原有输⼊端及输出端GH提供了ClusterInput输⼊端代替原有输⼊曲线ClusterOutput输出端代替相要输出数据3第三步选择上你需要组合运算器当然包括ClusterInputClusterOutput输⼊及输出结果如图所⽰变成⼀个组了但便于记忆及美观我们可以来修改它的图标名⼦如果想修改输⼊端及输出端直接对组运算器名⼦右击修改4第四步编辑对组运算器图标右击会看到Editcluster(可以编辑刚才组合的运算器)properties..(可以编辑组运算器名⼦图标简介说明等)Assignpassword可对组运算器加密让别⼈看不到组⾥⾯运算器我们打开properties可以编辑左这编辑内容右边得出帮助⽂件上图输⼊曲线⽂字就是对⽂字右击便可编辑修改上⾯中图标是是通过IOCN编辑修改,可以选择已有或者⾃定图标等.5第五步放⼊⼯具栏中选择制作好的组然后filecreateuserobject如下还是编辑名称简历,选择category可选择放⼊的⼯具位置,如果没有可直接输⼊⾃⼰需要的名称便可创建,选择sub-category更详细的分类,,,,,以上便是创建的组已经在⼯具栏⾥⾯了具体还是⾃⼰操作图中是个⼈理解⽅式如有不对地⽅请见谅.GH案例copytrim电池边缘不封闭问题的解决最近很多⼈在群⾥问copytrim电池边缘不闭合的问题,其实这个问题挺简单的,等会介绍如何解决这个问题。先说⼀点题外话,⼤家⼤家⼤家⼤家学学学学ghghghgh最好不要再看⽼教程了。不然会给⾃⼰带来很多不必要的⿇烦,最好不要再看⽼教程了。不然会给⾃⼰带来很多不必要的⿇烦,最好不要再看⽼教程了。不然会给⾃⼰带来很多不必要的⿇烦,最好不要再看⽼教程了。不然会给⾃⼰带来很多不必要的⿇烦,⽐如:第⼀第⼀第⼀第⼀看⽼教程会有些电池或者功能找不到,因为gh版本升级的很频繁,所以每次升级都会有些变样,第⼆第⼆第⼆第⼆gh每次版本升级都会有些提⾼,有些功能会变得很简单,以前⽼版教材很多步骤才能完成的过程,新版gh可能只需要⼏步就可以完成了。还有很多⼩问题就不细致列举了。建议学习建议学习建议学习建议学习ghghghgh最好看看最好看看最好看看最好看看ghghghgh官⽹去年出的第三本英⽂教程,也可以看官⽹去年出的第三本英⽂教程,也可以看官⽹去年出的第三本英⽂教程,也可以看官⽹去年出的第三本英⽂教程,也可以看看我前⾯发的⼏讲教程。看我前⾯发的⼏讲教程。看我前⾯发的⼏讲教程。看我前⾯发的⼏讲教程。不多说了,进⼊今天的正题。1copytrim边缘⽆法封闭问题的分析如上图所⽰,⽤copytrim⽣产的曲⾯会有⼀条缝隙,造成这样问题的原因是trimsurfaces导致曲⾯的u,v定义域变了,需要对曲⾯进⾏⼀下shrink⼀下,类似犀⽜⾥⾯的_ShrinkTrimmedSrf指令。解决办法制作shink电池在gh⾥⾯⽤⼏个电池组合是可以解决这个办法的,在最后⾯提供的⽂件下载⾥⾯有,这⾥就不讲了。主要讲⼀个⽐较简单的⽅法。在gh⾥⾯并没有提供这个电池,但可以⾃⼰打包⼀个,这⾥讲的是在c#电池(Python的写法类似)⾥⾯写两句代码。b.Faces.ShrinkFaces();B=b;输⼊端b的类型设置成brep就⾏了。连接上就可以解决了,上图是我打包之后的shink电池,最后⽂件⾥⾯也有提供。下⾯是加厚之后的效果,很完美。2中钢案例还有很多⼈看的学犀⽜⽹校那个中钢的也是同样的办法就可以解决了,课件中王⽼师做的⽐较复杂了,后⾯⽂件也提供了前⼏天⼀个⼈问我那个中钢的源⽂件。3提⽰如果不会打包可以看前⼏天未知提供的教程如果不会打包可以看前⼏天未知提供的教程如果不会打包可以看前⼏天未知提供的教程如果不会打包可以看前⼏天未知提供的教程((((在公共号回复在公共号回复在公共号回复在公共号回复gh-dgh-dgh-dgh-d或或或或者打包组件可以找到⽂章)者打包组件可以找到⽂章)者打包组件可以找到⽂章)者打包组件可以找到⽂章)4⽂件下载点击下⾯的阅读原⽂可以跳转到⽹盘下载链接点击下⾯的阅读原⽂可以跳转到⽹盘下载链接点击下⾯的阅读原⽂可以跳转到⽹盘下载链接点击下⾯的阅读原⽂可以跳转到⽹盘下载链接((((包括⽂字包括⽂字包括⽂字包括⽂字提到的我打包的插件提到的我打包的插件提到的我打包的插件提到的我打包的插件,,,,中钢解决案例中钢解决案例中钢解决案例中钢解决案例,,,,ghghghgh解决封⾯的案例解决封⾯的案例解决封⾯的案例解决封⾯的案例))))((((关注微关注微关注微关注微信公共号下载信公共号下载信公共号下载信公共号下载))))制作数学曲⾯制作数学曲⾯制作数学曲⾯制作数学曲⾯前天有⼈问我这个,所以今天写个教程,GH中可以制作很多经典的数学曲⾯,主要思路就是通过数学表达式来制作⼀些有规律的点阵,然后再⽤surfacefrompoints⽣成曲⾯。Expression电池讲解Expression和Evaluate都可以写数学表达式,今天讲解⼀下Expression运算器,下⾯会⽤到,Evaluate和Expression类似所以不作细讲了。1页⾯讲解1运算符双击运算器会出来这个界⾯左上⾓是⼀些运算符等等符号可以⼿写也可以点⼀下上⾯的运算符,就会出现在下⾯书写表达式的地⽅。2函数查找点⼀下右上⾓(2)就会出现这个函数查找的页⾯,可以查找各种函数。3函数书写写函数的地⽅有个表达式书写格式,个⼈觉得有点类似python语⾔⾥的匿名函数lambda,这个⾥⾯可以写数学运算也可以⽤if做⼀些简单的判断。2数学公式如上图所⽰这些是今天要⽤到的数学曲⾯的函数。1第⼀步第⼀步我们需要⽣成最原始的数据,这⾥利⽤range函数⽣成数据,这⾥把-50to50这个定义域等分成51个数据,再⽤这个数据去进⾏数学运算最后⽣成三维点阵。2第⼆步上⾯截图就是通过数学表达式之后的⽣成的点阵。这⾥的唯⼀难点就是为啥y值对于的数学表达式要graft,这⾥关系到数据匹配运算问题,前⾯讲过(回复G7可以查看),⽣成了三维点阵之后就是如何⽣成曲⾯的问题了。3第三步可以⽣成线再放样,这⾥主要⽤到了surfacefrompoints⽣成曲⾯最后再设置个显⽰颜⾊就做好了。surfacefrompoints的U端输⼊的表达式是X+1,这⾥为啥⽤X+1也可以看前⾯的教程(回复G5可以查看)电池图:思考题如何⽤⼀个运算器⽣成三维点阵。讲讲curve和surface的Domain含义前⼏天看见有⼈前⼏天看见有⼈前⼏天看见有⼈前⼏天看见有⼈在在在在shaper3shaper3shaper3shaper3dddd发帖发帖发帖发帖问问问问curvcurvcurvcurveeee的的的的DomaiDomaiDomaiDomainnnn与与与与LengtLengtLengtLengthhhh的区别,的区别,的区别,的区别,jjjj⼤给出了很详细的解答,今天写个帖⼦介绍下。⼤给出了很详细的解答,今天写个帖⼦介绍下。⼤给出了很详细的解答,今天写个帖⼦介绍下。⼤给出了很详细的解答,今天写个帖⼦介绍下。1转载Jessesn⼤⼤的回帖这段话是这段话是这段话是这段话是jjjj⼤在⼤在⼤在⼤在shaper3dshaper3dshaper3dshaper3d的回帖:的回帖:的回帖:的回帖:在Rhino5中⼀条曲线的DomainDomainDomainDomain的值为曲线初始控制点连线的长度。的值为曲线初始控制点连线的长度。的值为曲线初始控制点连线的长度。的值为曲线初始控制点连线的长度。Domain值是可以被重新定义的,并⾮是⼀个固定值。你可以使⽤Reparameterize指令重新定义曲线的Length值为曲线的实际弧长值。曲⾯的Domain计算⽅式同曲线,只是有U、V两个⽅向的计算,所以会更加复杂,因为⼀个曲⾯上可以提取的UV线是N条2简单介绍下DomainDomainDomainDomain是指提取曲线的控制点然后穿成是指提取曲线的控制点然后穿成是指提取曲线的控制点然后穿成是指提取曲线的控制点然后穿成polylinepolylinepolylinepolyline的长度的长度的长度的长度,在使⽤gh的时候有时候需要使⽤Reparameterize设置(前⾯教程有讲,不回的可以回复G5查看教程)将曲线的domain重建为0to1来计算回⽅便些,曲⾯的domain与曲线类似就不多讲了。GhPython的代码操作下⾯的看不懂的话可以直接跳过,以后再看。下⾯的看不懂的话可以直接跳过,以后再看。下⾯的看不懂的话可以直接跳过,以后再看。下⾯的看不懂的话可以直接跳过,以后再看。曲线和曲⾯的domain重建也可以在ghpython操作,在ghpython中把curve端的type设置成curve,然后通过curve的domain属性就可以算出曲线的Domain了。然后可以⽤curve.Domain=rg.Interval(0,1)来更新domain值。完整的代码:完整的代码:完整的代码:完整的代码:importimportimportimportRhino.GeometryRhino.GeometryRhino.GeometryRhino.GeometryasasasasrgrgrgrgAAAA====curve.Domaincurve.Domaincurve.Domaincurve.Domaincurve.Domaincurve.Domaincurve.Domaincurve.Domain====rg.Interval(0,1)rg.Interval(0,1)rg.Interval(0,1)rg.Interval(0,1)aaaa====curvecurvecurvecurve曲⾯中也是类似曲线的⽅法来更新去⾯对domain值,不过是两个⽅向的,所以要更新两次。完整代码:完整代码:完整代码:完整代码:importimportimportimportRhino.GeometryRhino.GeometryRhino.GeometryRhino.Geometryasasasasrgrgrgrgnew_unew_unew_unew_u====rg.Interval(0,1)rg.Interval(0,1)rg.Interval(0,1)rg.Interval(0,1)new_vnew_vnew_vnew_v====rg.Interval(0,1)rg.Interval(0,1)rg.Interval(0,1)rg.
本文标题:大水牛出品GH+ghpython入门教程
链接地址:https://www.777doc.com/doc-1913453 .html