wolfkingforever 发表于 2003-4-2 18:13:11

[教学]:GDL 浅谈[1]

还是说一下GDL,给广大有志青年。

首先是几条声明。
一、不要以为编程是万能的,什么事情都可以用编程来解决。
程序是可以做很多事情,但是为什么到现在还没有用程序来设计建筑?程序是人写出来的,所以,如果写程序的人不知道某个问题的解决办法,那么他就不会写出来可以解决这个问题的程序。
一言以蔽之,程序(软件)就是我们已知的解决问题的方法的机械实现。
二、不要以为GDL是万能的。
任何需要两个部件或者元素实现的操作GDL一概不能完成。比如放样,需要一个剖面形状,一个放样路径。你就不要指望可以用GDL写一个万能线脚部件的了。
三、不要以为GDL是什么好东西(仅从程序角度而言)
这个破烂语言,和我上小学的时候学过的GW BASIC差不多。奶奶的,都他妈的21世纪了,我们还在用上个世纪七十年代的编程技术。
用了GDL,我才知道原来为我痛恨的一些原则是多么的伟大。

好了,如果你还是立志于写两个部件玩玩,那么接着看好了。

第一,想好你要写的部件是否值得参数化。
上次有个人找我要一个蹲坑的部件,还要用GDL。给我骂回去了。
为什么呢?
1、蹲坑这种东西哪里没有?随便找一个来导入AC另存为部件,你就可以用一辈子了。不过5分钟的时间而已。值得花很多时间徒手些GDL吗?
2、蹲坑如何参数化?需要吗?看不出来价值所在。
所以,各位有志青年,想想清楚你要写的部件是不是有价值。没有价值的,放弃吧。挣钱要紧,存老婆本第一。

第二,既然决定了写作的对象,那么就好好研究一下需要什么参数,参数的类型。
用一张桌子举例。桌子是三条腿的还是四条腿的或者一条腿的?是给一个菜单选择来的好呢还是让用户填数字?桌面是圆的呢还是方的或者椭圆的或者古里古怪的?这个问题我看只有用菜单了。如果是圆的,那么需要半径或者直径;方的需要边长(正方形的一个,长方形的两个,平行四边形的还要一个角度),椭圆需要两个轴的长度。古里古怪的我也不知道了。…………凡此种种,希大家仔细为之。

第三,研究第二步列出的参数的内在关系。
比如选定了桌面是圆的,那么需要半径或者直径的参数;不需要的参数可以隐藏或者锁定。桌子腿的位置也和桌面的尺寸有关。
一项一项的列出公式来。

第四,看看第二步的参数和第三部的公式在GDL中如何实现。
我说过了,GDL在编程方面很烂的。有些问题的解决需要一些特殊的技巧。可以看看GDL CookBook,这里面旁门左道的事情不少。

第五,写吧。
这个没有好说的。不会就看GDL Reference。

以上各条,只是常规做法。没有任何花头可言。也不需要墨守成规,完全可以在列出参数的时候就考虑如何实现。
第二步和第三步尤其重要,切切。

好了,我先吃饭去。给各位有志青年一个题目,列出牛腿柱的参数包括参数类型,还有内在关系。
下回分解。

sner 发表于 2003-4-3 09:11:23

昏倒
还有补充么?

evo6 发表于 2003-4-4 06:48:02

阅,明白了。清楚晒!

wolfkingforever 发表于 2003-4-6 02:29:59

几天不能登陆XD,寂寞。
终于又和大家见面了,却发现应者寥寥。
还是寂寞的好。
我是Wolf,还是King,既然For ever,我认了……

无忧 发表于 2003-4-7 11:18:40

有工夫的话,请你研究一下转角窗在墙上开洞的机制,如何自己制作转角窗.进而再研究"转角凸窗". :)

wolfkingforever 发表于 2003-4-10 03:13:54

Fremantle,使你提议我写的。
现在你明白了吧?浪费时间啊!
我还是写轴网去……不,看看Sex.com先。

fremantle 发表于 2003-4-10 14:33:44

可能懂GDL的人太少了,你是名符其实的寂寞高手. :)

大龄青年 发表于 2003-4-12 18:35:07

一连几天不能登陆XD的, 可不只你一个
自然没人跟贴
你快写吧, 我还等着你拖我下水呢

你是这里的GDL无冕之王, 你不写谁写?

wolfkingforever 发表于 2003-4-13 02:18:46

无冕之王……=妓者?:(

先把题目作了,我再接着说。

wkai 发表于 2004-11-2 08:29:33

wolfkingforever
继续呀!

kmliro_2017 发表于 2024-10-19 08:14:22

好资源,谢谢分享!!!!!!
页: [1]
查看完整版本: [教学]:GDL 浅谈[1]