Normal view

There are new articles available, click to refresh the page.
Before yesterdayPersonal Blogs

[歌词翻译] Rap Against Dictatorship – Prathet Ku Mee

By: fivestone
6 December 2025 at 13:49

原文为泰文,翻译中文时主要参考英文版歌词。

Rap Against Dictatorship – Prathet Ku Mee (My Country Has),2018
反独裁说唱 – 我的国家有什么

[Intro]

[Verse 1: Lady Thanom]

The country where the panther was slain by rifle
黑豹被步枪击毙的国家
The country that preaches moral but crime rate higher than Eiffel
宣扬道德,犯罪率却高于埃菲尔铁塔的国家
The law can’t fight against Dharma or Bible
法律无法与法则或圣经抗衡的国家
Good people never be saluted as idol
好人从不被尊崇为偶像的国家
The country that judges get houses in national park
法官在国家公园里有房产的国家
The country that its capital’s hearth turned into killing fields
首都的心脏变成了屠杀场的国家
The country that leaders eat taxes like a sweet meal
领导们像享用美餐一样吃掉税收的国家
Which is my country 这就是我的国
Which is my country 这就是我的国

[Verse 2: Gentle Prapas]

The country has no corruption and no checks and balances
没有腐败也没有制衡的国家
The country that a minister’s watches belong to a ghost
部长的手表属于幽灵的国家
The parliament house is soldiers’ play yard
议会大厦是士兵们的游乐场的国家
Charter is written and erased by the army’s boots
宪章被军靴书写又抹去的国家
The country that artists are rebellion
艺术家都是反贼的国家
The country that rebellion obeys the state power
叛乱者服从国家权力的国家
The country that follows leaders like an ant’s nest
像蚁巢一样追随领导者的国家
Which is my country 这就是我的国
Which is my country 这就是我的国

[Verse 3: HomeBoy Scout]

The country that people in suite never do what they say
穿西装的人从不兑现承诺的国家
The poor have to die ’cause they don’t have 30-baht health care
穷人不得不死,因为他们没有 30 铢的医保
So powerful country that eats panther like sashimi
像吃生鱼片一样吃掉黑豹的如此强大的国家
No accountability, no guilt
没有问责,没有愧疚
The country that murder is easy with money
金钱让谋杀变得轻而易举的国家
The law can stretch more than the arms of Luffy
法律延伸得比路飞手臂还要长的国家
Keep saying “Doing good, doing good”
一直说“干的不错,干的不错”
Which is my country 这就是我的国
Which is my country 这就是我的国

[Verse 4: Kitti Lamar Wuttoe]

The country that points a gun at your throat
用枪指着你喉咙的国家
Claims to have freedom but have no right to choose
声称拥有自由却没有选择的权利的国家
You can’t say shit even though it’s full of your mouth
嘴里满是话却无法说出的国家
Whatever you do, the leader will see you
无论做什么都会被老大哥看到的国家
The country that assholes own the sovereignty
由混蛋掌控主权的国家
You must choose to either eat the truth or bullets
你必须选择,要么吃真相,要么吃子弹
Country that big fish eat little by squads of motherfuckers
成群混蛋大鱼吃小鱼的国家
Which is my country 这就是我的国
Which is my country 这就是我的国

[Verse 5: Kra-Ting Clan]

The country that government is untouchable
政府不可触碰的国家
The police use law to threaten people
警察用法律来威胁人民的国家
Though you’re enlightened, you have to pretend to sleep
虽然你已经觉醒,却必须假装睡着的国家
Even you don’t wanna live, they will force you to live
即使你不想活,他们也会强迫你活下去
The country that people read less, especially the leader
人们尤其是领导都不读书的国家
The country that asks you to stay quiet or stay in jail
要求你保持沉默或者进监狱的国家
The country that corruption’s always safe for the rich
腐败对富人来说总是安全的国家
Which is my country 这就是我的国
Which is my country 这就是我的国

[Verse 6: G Saiyud]

The country that politics is split in two sides
政治被分为两派的国家
The country that citizens are divided into two
公民被分成两派的国家
The country that people get killed in both sides
双方都有人被杀的国家
The country that both sides fear the army
双方都害怕军队的国家
Four years already motherfucker, still no election
四年了,混蛋,仍然没有选举的国家
Free country? Fuck it, don’t tell me I can choose
自由的国家?去他妈的,别告诉我我可以选择
Even the PM is still picked by the army
连总理都是由军队挑选的的国家
Which is my country 这就是我的国
Which is my country 这就是我的国

[Verse 7: Samak Da Kreator]

The country that national budget is unlimited
国家预算无限的国家
The bizarre country with money hidden in bureaucrats’ house
钱藏在官僚的家里的奇怪国家
The country that leader is kinda annoying
领导人很烦的国家
The country that fucks the rule with machine gun
用机枪践踏规则的国家
People live happily but still in the cave
人们快乐地生活,但仍在洞穴中
Four years under the top-boots, nobody works in the house
四年在高筒靴下,家里没有人工作
The tedious country that goes without saying
不言而喻,这是个乏味的国家
Which is my country 这就是我的国
Which is my country 这就是我的国

[Verse 8: Snoop Dusit]

The country that has everything except common sense
除了常识什么都有的国家
Driven by money like a magical spell
被金钱驱动,像魔法咒语一样
Time goes by, it becomes a diamond of evil
时间流逝,它变成了邪恶的钻石
Worshiped by monkeys like a monolith of selfishness
被强烈自我中心的猴子们崇拜
Brainlessly drunk in ignorance that can’t response shits
在无知中愚蠢地醉倒,无法回应任何事情
Ignore justice, let the beasts keep arrogant
无视正义,野兽们继续傲慢着
Rule everything by darkness and fear
用黑暗和恐惧统治一切
Which is my country 这就是我的国
Which is my country 这就是我的国

[Interlude]

[Verse 9: Thanin Scott]

The good and fucking everlasting country
美好而它妈的永恒的国家
The glorious gov abuses people, being hated worldwide
辉煌的政府虐待人民,受到全世界的憎恶
The country is sanctioned, people suffer everywhere
受到制裁,人民到处受苦的国家
The country that evil disguise in coup and people are suppressed
邪恶伪装成政变,人民被压制的国家
That country that fires protesters at night
在夜间向抗议者开火的国家
The lawless country and the fucked up city
无法无天的国家和糟糕的城市
Keep making babies and eating tax
继续生孩子和吃税收的国家
Which is my country 这就是我的国
Which is my country 这就是我的国

[Verse 10: Sa-lang Shady]

The country that can use law as an excuse like a magic
像魔法一样用法律作为借口的国家
People dress hope as shirt and dress poverty as shorts
人们把希望穿成衬衫,把贫穷穿成短裤的国家
The country that close its ear, never hear people in the gap
对缝隙中的人民闭耳不闻的国家
The country that everyone keeps talking and listening
每个人一直在谈论和倾听的国家
People only good at taking exams and just want to be rich
人们擅长考试,只想变得富有的国家
The country that makes fakes promises like loading bullets, create a regime and told use to love it
像装填子弹一样做出虚假承诺,创造政权要我们去热爱它的国家
The country that chair is the answer
主席的位子就是答案的国家
You will see if you’re good at counting dates
你会看到你是否擅长计算日期
Which is my country 这就是我的国
Which is my country 这就是我的国

[Ending Notes]

Polarizing the people is the authoritarian’s ultimate weapon
两极化民众是专制者的终极武器
When this happens, the people’s power will be taken away
当这种情况发生时,人民的权力将被剥夺
In memory of all victims from all state crimes
为了纪念所有国家犯罪的所有受害者

「不存在」的「写真」

By: Steven
7 September 2025 at 21:50

这组照片我发给太太看,问她「像不像我?」
她问「是你自己拍的吗?」

没有,没有一张是实拍的。
全部都是 AI 生成的。

我提供了五张照片给它,然后描述了一些简单的要求,他给我「拍摄」了这些照片。当然,抽卡还是要抽的。但是,主要集中在审美层面的选择上,或者是,有点儿不太像。最后选的这几张,儿子也觉得像,唯一的例外是觉得侧身背影的气质不像我。但哪里不像,他也说不清楚。

语言是关于思维的。写真是把真用光线记录下来,但这些图片都没有真实存在过,还算写真吗?照片是把影像照射在感光底片上的画面,印在纸片上,可没有存在过的光线和场景还算照片吗?这是文字游戏,也是思想实验。

眼见不为实的时代里,什么才是真实?

鼓钥匙:小樱魔杖

By: Steven
5 September 2025 at 18:19

之前给朋友做过一款赛尔达大师之剑的鼓钥匙,发出来以后陆续收到不少私信问能不能定制其他款式。

说实话,鼓钥匙这个形态它还是限制比较多的。因为要跟架子鼓本身的结构配合,所以很多造型没有办法做。

这一把小樱的钥匙,磨磨蹭蹭也做了将近三个月。当然,并不是说做这把钥匙需要花那么长时间,只是因为我是用身体状态正常的间隙时间,抽空一点一点弄的。当中也测试验证了很多轮不同的结构、拆件和打印方式,最终才找到了一个比较合适的方案。回头我再整理一下过程,发出来给大家看看。

我有 AMS 也不是说不能一体打印,但一体打印的话,由于打印本身的工艺限制,在 Z 轴的方向是比较脆弱的,所以在拧的时候稍不注意就会拧断。因此在设计结构的时候也尝试了蛮多种思路,最后这一版算是把结构强度跟外观质感平衡得还算满意的了。

这次尝试用 nano banana 做了两张效果图,就是粉红沙滩那两张。其实很简单,就是先拍摄实物的定妆照,再放进去修改背景和光线。效果确实相当好,省了不少事!

被时间拉长的人

By: Steven
31 August 2025 at 18:05

丢了一批人物标签给 AI 写人物小传,让它模仿某位小说家的笔法,来给演员交代角色。

你觉得这像谁的手笔?

————

南方的空气里常常有潮湿的味道,像是雨下过以后残留的影子,久久不散。城市白天拥挤喧嚣,夜晚却显得空旷,好像光亮突然被抽走,留下无数未完的句子。在这样的环境里,一个男人行走。他的脚步从不急躁,像对时间有着自己的节奏感,和别人不太一样。

年少的时候,他把自己交给了工业设计。形状、光影、比例,这些东西比人群更让他安心。六年在公司,十年在创业,那些日子像一张张被翻阅过的旧画册,色彩褪去了,但线条还在。产品的生与死,像车站里人群的来去。大多数人只看见成功或失败,他却更在意其中被忽略的细节。

别人眼中的他冷静得过分,总是习惯提前几步想好方向,就像棋局上的布局。但在那层冷静的外壳下,常常闪现一些不合逻辑的柔软时刻。比如一段旋律,随便一盏灯的影子,甚至一个不经意的眼神,足以让他停下手里的笔。理性和浪漫在心里不停打架,谁也没有赢过谁。

他知道自己带着黑暗生活。抑郁的日子像一条看不见的走廊,没有尽头。他学会了靠药物维持稳定,像有人随身带着一块怀表,偶尔瞥一眼,提醒自己仍然存在。那段经历让他对痛苦格外敏感,也让他在与人相处时多了一层隐秘的温柔。他不会轻易表现出来,但在内心深处,对别人的脆弱始终心知肚明。

夜晚经常独自坐在桌前,电脑屏幕的光照在脸上,桌上散落着草图和未完成的文字。那些想法有时像城市里的霓虹一样闪烁不定,无法全部抓住。他清楚其中大部分不会被记住,就像梦醒时遗落的片段。但仍旧一遍一遍画下去,像一种执念,也像是一种呼吸。

在喧闹的城市里,他习惯保持慢半拍的步伐。人群汹涌,他的节奏却像潜水时的心跳,缓慢、克制,不慌不忙。他看似与周围保持着距离,其实心里始终怀有一种模糊的渴望——不是要成为谁,也不是要得到什么,而是想在梦与现实之间找到某种入口。梦与梦之间,总有裂缝。裂缝里偶尔透进光。

对很多人来说,他是个不好接近的人。但真正靠近以后会发现,那些冷漠与安静只是表层,像水面下覆盖着的冰。深处的水仍然温热,流动着。理性、浪漫、痛苦和温柔同时存在,没有谁能完全把它们分开。

这样的人物,像一个在现实里造梦的旅人。他的路从不喧哗,却留下清晰的痕迹。

(*正文及标题均由 AI 完成)

红伞伞白杆杆

By: Steven
14 July 2025 at 23:56

“红伞伞白杆杆,吃完一起躺板板”

别人都在用 AI 做各式各样的美少女…
我却用 AI 养蘑菇 🤣 而且是毒蘑菇!

上面照片里的模型,是我用 Tirpo AI 文生 3D 后,下载到本地再在 Rhino 里针对打印调整过部分结构所得到的。打印的耗材就是拓竹官方的 PLA 红色,然后再用儿子的儿童马克笔上色。因为是水性颜料,所以来来回回上了好几道,但幸好效果还可以。

我开始还觉得画得挺潦草,但私下给几波互相不认识的朋友看过后,都觉得不错,尤其是其中一位还是常年在一线亲自做手板的老设计师,我才觉得这值得记录一下。不过我还是觉得,因为这个形体细节足够多,所以稍微涂涂色就看着还行,真要是简练一些的造型,拿笔涂我大概是涂不好的 😭😄

但社区里别人分享的 AI 美少女,做出来呢,也还行… 只要别细看结构 🤫 什么四根手指啊、三根绥带啊、两端对不齐的签子啊… 其实咋一看的效果也确实足够好了,毕竟是虚构的漫画角色,你说头身比例奇怪,好像也是合理范围内。

有个朋友说可以做个奇幻精怪故事集,嗯,我觉得这是个有意思的主题!我先摸索一下工作流,说不定可以跟 3DFiti 结合一起玩。

我用 ChatGPT 和 Midjourney 剪掉了蓄满四年的长发

By: Steven
1 November 2024 at 17:26

这是我蓄满了四年的长发,原本是打算捐给金丝带的,但我决定放弃了。

一来,捐赠的人太多了,不缺我这一个,它不需要我;

二是,这个活动太热门了,报不上名,我不喜欢凑热闹;

于是,我心里很快就决定了:剪掉,并且要烫卷、染发!

在音乐教室里,筱烨、阿吉和秋秋在上课,我就在旁边用 ChatGPT 写 Prompt,写完之后就丢给 Midjourney 去生成效果图。遇到不满意的,就丢两张我以前的半长发的照片上去,再调整 Prompt 的细节,接着画。

最后,我把这张效果图发给发型师:

虽然这脸型偏硬了,不怎么像我,但这个头发感觉是我想要的。

曲线、松软、紫色挂耳

确定方案之后就直接约时间,一方面要约发型师的时间,他很好约,就在楼下,我随时过去随时可以做;但另一方面,要约收头发的师傅过来,需要由他根据长度把我的头发抽出来。这也是我第一次卖头发,挺新鲜的体验。

首先,我要跟发型师和收头发的师傅一起商量,怎么剪、剪多少、剪到哪里、用什么方法剪。我原本以为就是咔嚓一刀剪了,但其实不是。整个过程里,这位师傅需要非常仔细地把我头发中最长的部份找出来,每次只挑选一小撮,然后用剃刀在距离头皮大约 8-10cm 的位置一点点把头发切断。这样做的目的是,即确保剪下来的头发是满足他收头发的需求,也能确保给发型师留有后续足够的操作空间,还得让头发之间的层次能自然地衔接上。

每次剪下一小撮头发后,他都会仔仔细细地把头发梳几遍,确保没有任何打结,然后放在准备好的毛巾上,平放着。剪之前还特意要把周围的风扇都关掉,万一吹乱了,这些头发都全都没用了。他就这么一遍一遍地重复捏一小撮、切下来、梳顺、平放,如此反复了半个多小时,才终于从我头上抽出来两把共 59g 的长发。

然后就是烫卷和染发。

之所以想这样折腾一下,多少有一点破罐子破摔的心态在,觉得既然这头长发不被需要了,那也就放过自己,不要再被「这件事」困住了,索性趁着这个机会来尝试一下之前没折腾过的事情!

其实我 17 年前也染过一次发,但那时候是因为演《暗恋桃花源》的老导演,为了贴近角色的年龄感,我就去染了一头白发。只不过那个白发染得不成功,黄黄的,加上那会儿我比较消瘦,自己觉得不好看,所以演出结束的第二天我就去剃光头了。所以那次严格来说我不觉得是一次正经的染发体验,毕竟没有顶着这头黄毛生活,勉强能算一次临时的体验。

我当然知道它会掉色,会变成黄毛,会干、会毛躁。

但这不重要,因为我就想试一试。

我紧绷了三十多年,现在崩断了,还不能讨好一下自己,玩一玩吗?玩!

不仅要玩,还要玩得不一样,用 AI 一起玩!

为什么是紫色?因为我喜欢!

虽然我也喜欢绿色,但我也不想染成绿色 😂

朋友说像杨千嬅,像极速拍档的小乔,那也挺好。

最近两周我忽然意识到,我是会因为自己感觉到快乐而感到羞耻的。这是从小根深蒂固的想法。过去我知道,如果我遇到一件好事,一件开心的事,就会有一个声音在警告自己不要乐,不要得意,不要喜形于色,要收起来,不然马上就会招来不幸和倒霉。但我一直认为这是克制和谨慎,是对于能量守恒定律的迷信式的执念,觉得这会儿开心了以后就没有了。

可是,为什么要把开心攒到以后呢?有没有以后都不知道。

筱烨说我的动力来自恐惧,确实,我总有各种恐惧在周围,挥之不去。

但现在我看见它了!我要让我的快乐活过来!我不要快乐羞耻!

尽管我现在还没有什么活力,但起码这个紫色能令我舒服好一阵子!

最后再看一眼,这头蓄了四年的长发和发髻。

我很喜欢这根石纹簪,但我感觉我应该不会再束成这个样子了。

这天色真好。

蒸馏认知

By: Steven
17 October 2024 at 09:50

有两种方式「通晓一切」:

1、穷具并知晓每一种可能性;
2、找到底层原理后高效推理。

定理:
1、海量数据和滔天算力是不持久的;
2、通用性和低能耗是持久的。

推论:
任何人工智能都需要蒸馏出「认知」才能活下去。

前提:
本地且联网的传感器

审美鄙视链,争乜_7.ylog

By: Steven
27 July 2024 at 21:00

“Design is not just what it looks like and feels like. Design is how it works.”

—-Steve Jobs

这里面的 “how it works” 不仅仅是关于人如何使用它,也同样意味着,这件东西本身是如何运作的,以及这件事情、这个世界是如何运作的。“how it works” 意味着「真」。

|相关阅读|

从《骄阳伴我》看职场新手如何进阶成创意大拿

艺术可以糊弄,体力劳作也是高级智能

這夜風正涼 𝄇 就用五首詩與本命年訣別吧!

乌云 枪声 怪物

|相关链接|

若你所使用的播客客户端未能完整显示插图,或遇网络问题未能正常播放,请访问:

荒野楼阁 WildloG 的地址:https://suithink.me/zlink/podcast/

阅读设计相关的各类文章:https://suithink.me/zlink/idea/

|其他社交网络媒体|

苏志斌 @ 知乎|SUiTHiNK @ 即刻 / 微博

苏志斌SUiTHiNK @ Bilibili / YouTube / 小红书

|联络邮箱|

suithink.su@gmail.com

欢迎在 小宇宙、Spotify、YouTube、Apple Podcast 收听本节目,期待你的留言。

枪声过后,开始自救

By: Steven
14 July 2024 at 23:48

今晚,我人生中第一次走进健身房。

前几天,我写了一篇博客,坦言我的状态非常糟糕。这个周末回来,筱烨就找我聊了这件事。她和我分享她产后抑郁的那段时间,还有这两年抑郁的状况。那些年,我形容她像一颗躲在角落的蘑菇,浑身散发着阴郁的气息,令人难以靠近。

现在,我是这颗蘑菇。

她不断和我分享,她从重新开始跳舞,到重新练习瑜伽,再到几个月前开始决定要撸铁健身,我眼看着她越来越好。我最近甚至有一种念头,觉得她正在越来越舒展,而我的处境越来越糟糕,不自觉地就会认为自己越来越配不上她,自己和她越来越远。

一般来说,故事里的男性角色会在事业上高歌猛进,留下家中的妻子独守空房,最后两人渐行渐远。这么俗套的故事,只有最没天赋还没有生活经验的编剧能写出来。现在留在原地转圈的是我,那个故事套路中在事业里前进的人。

事实上,我也不觉得我的事业在前进。

尽管行业内外的上下游都在和我们说,你们已经垄断了市场,但我很清楚,我们正在垄断的是一个正在快速收缩的市场。那并不是一件值得炫耀的事情。哪怕一些合作方并没有意识到或指出这件事,但我意识到,这艘船正在沉没瓦解。

突然,一名枪手击中了特朗普的右耳。

今天早上看见这个新闻时,我甚至觉得是一个什么恶作剧。直到所有人都在发那张几乎预订了今年普利策奖的照片,我才意识到,这个世界的疯狂已经丝毫不在乎剧透不剧透了。连一直受限于法规的无人自动驾驶车辆领域,最近也因为百度的破萝卜被大众广泛关注。楚门的世界里里外外,似乎都在想快进到剧终。

我感受到一股巨大的力量在推进,像海浪。

熟悉的朋友问我,你有在私下做设计的单子吗?不熟悉的新朋友问,你有空或者有兴趣考虑新的项目吗?曾经的客户问,这里有一个当下正火的东西,你要不要一起干?筱烨看着星盘说,你即将经历一场大的变化。

这些年一直和车厂打交道,大大小小的车企案子都是我经手,这些经历让我越来越清晰地意识到,人类、组织、制度,是多么脆弱。我不是要说「草台班子理论」,我不是很喜欢这个同样草台的概念,它简化了太多东西。我是要说,「他们」太水了,以至于当我意识到这件事的时候,发现「他们」其实是「它们」。人类就是一群依靠虚构的概念捏合起来的想象共同体,第一个拿起圆桌上餐巾的人,就能制定规则。

似乎所有所谓正派和反派的角色,都在这件事情上获得了共鸣。

一即是全,全就是一。izumi sense 对爱德华说的这句话,我记了好多年,在这一刻,它自然而然地出现了。十八九岁的我不理解,但现在,我越来越有感受了。同样有感受的是她对爱德的训练方式:

欲强健精神,先强壮肉体。

我十八九时是确实不理解炼金术士为什么要练肌肉的,直到技能点全部都点在智力和魔法上的我发现,这个世界没有魔法,全是肉搏。

「江滨柳,你感觉到一股巨大的变化,即将发生。」

我骑着电动车赶回家的路上,皮肤能感受到阳光的压力,一切声响都在减消,老导演的话在耳畔如雷鸣贯耳。这一枪不是开始,但车轮已经在加速转动了。许多东西都将会一起消解,但,我得抓住一些绝不会失败的投资:

身体

在抑郁发展成生理性的情况之前,在痛苦酝酿的恶吞噬我之前,在剪不断的焦虑和困顿完全困住我之前,我得先救自己,通过肌肉的反馈,让逆位的宝剑十那些扎在我背上的利刃垂落。

我就是需要那么多「理由」来推动。

但是,它们也都如剧本般来的恰到好处。

回来的路上感觉还好,觉得坚持下来形成习惯应该不难。直到回家换衣服,手举不过头顶、脱不动T恤,挽发髻费劲,才感受到肌肉力竭后的过瘾。

我会把你捞起来的。

BIM 中的几何表达方式

17 February 2023 at 16:31

三维几何表示时 BIM 模型的重要基础。这篇文章主要阐述 BIM 中几何模型设计原则与基本思想。

1 BIM 场景下的几何建模

一个建筑信息模型的包含的的建筑规划与维护所需要的所有相关信息。三维形态的几何苗猪相比于传统的二维图纸具有巨大的有事:

  1. 可以用统一模型描述整个建筑项目,而不需要拆解成多个图框与子项,进而可以确保不同部分的图纸内容的一致性;但仅凭三维模型,尚不足与生成与现行规范相符合的图纸,模型中还需要更多的信息,例如建筑类型,材料等;
  2. 三维模型可以更好地排查方案规划中的建筑元素冲突情况;
  3. 更便捷的算量计算;
  4. 更好地服务于后续计算与仿真;
  5. 能够更便捷地生成效果图;

一般而已,衡量一个 BIM 建模工具的几何能力的核心要素是其使用的几何建模型核心的质量。目前使用最为广泛的几何工具包括了 ACIS 和 ParaSolid。

2 Solid Modeling

建模三维实心几何体的方法有两种不同的方向:

  1. Explicit Modeling,即显式模型,此种方法通常是直接描述几何体的表面来描述实心体本身。这类方法通常也被称为 BRep (Boundary Representation);
  2. Implicit Modeling,即隐式模型,此方法是通过描述构造过程来描述几何体本身。

这两种方法在 BIM 建模工具中都会使用到,且都是 IFC 标准的一部分。

2.1 Explicit Modeling

2.1.1 BRep

Boundary Representation 是最为广泛使用的三维几何描述模型。其核心思想是构造一系列边界元素的树状结构。通常这种树状结构包含了点 (Vertex)、线 (Edge)、面 (Face)、体 (Body) 等。每个元素都是由更底层的子元素来描述。这个树状结构代表了几何体的拓扑结构,如下图所示:

整个拓扑结构我们可以用一个图数据结构来表示,这个图数据结构被称为 vertex-edge-face graph,简称为 vef 图。

在拓扑结构的基础上,还需要增加几何维度信息来才能充分表示几何体。如果偶几何体只包含了直线和平面,则只需要顶点的几何坐标信息就可以充分表示几何体。但是如果几何体中包含了曲线和曲面,则需要更多的几何描述信息。

用来描述拓扑信息的数据结构通是多个变长列表。体用围合它的面来表示,面则用围合它的边来表示,每个边由其起点和终点来表示。不过这种简单的数据结构只适用于简单的,没有孔洞和开口的几何体。为了表示更加复杂的几何体,我们必须要扩展这一数据结构。

ACIS 的几何数据结构设计。

上图给出了 ACIS 使用的几何数据结构设计,ACIS 在多种 CAD 和 BIM 软件中得到应用。在这个数据结构中,Body 有若干个彼此不连通的 Lump 组成、Lump 则由若干个 Shell 来描述(因此可以描述孔洞和开口)。每个 Shell 由若干个 Faces 来表示。每个 Face 由一个或者多个 Loop 来表示。由于每个 Face 可以有多个 Loop,因此可以表示含孔的多边形。

上述模型的一个重要特点是 Loop 本身并不直接指向边,而是通过 CoEdge 这个中间媒介。图中的下半部分显示了几何数据可以如何同拓扑数据整合起来。

2.1.2 基于三角面片的几何表达

这种方法是对 BRep 方法的简化。通过牺牲一定程度的精确度,可以将曲面表示为一系列的三角形。当然,三角形越小表示就越精确。三角面片表达方式通常用来做可视化。除了精度问题,三角面片表示方法也有更多的存储空间需求;

三角面片表达方式的底层数据结构的组织形式为 Indexed Face Set,其中每个顶点的坐标被存储为有序列表,每个三角面片由其在列表中的索引下表来定义。这种方法可以避免存储冗余的点坐标信息。同时避免因计算误差导致几何错误(三角面片之间出现错位)。

2.2 Implicit Modeling

如前面论述过的,Implicit 建模方法的核心思量是记录几何体被狗砸偶读过程,因此 Implicit Modeling 也被称为 procedural methods。BIM 和 CAD 软件在实践过程中会对生成的几何体提取快照,从而降低每次加载时的计算时间。

2.2.1 Cosntructive Solid Geometry (CSG)

CSG 是一个经典的面向构造过程的几何模型。CSG 模型在表示几何体时会选择一些基础元素(被称为 primitves),如立方体,圆柱体,棱锥结合几何布尔运算(交、并、差)等来创建更为复杂的几何体。

CSG 的一个例子。

表达能力的相对受限使得 CSG 模型在 BIM 场景中基本不会单独使用。

2.2.2 挤出和旋转方法

很多 CAD 或者 BIM 工具提供了通过挤出和旋转操作来代构造三维几何体的操作方法,其操作过程通常是将一个二维图形(通常是一个闭合曲线)沿着三维曲线移动。如果移动的路径是直线,则这个操作被称为 Extrustion,如果是曲线。则被称为 Sweep。作为出发点的二维图形在移动的过程中其朝向可以根据行进方向改变,亦可以保持不变。

旋转操作的定义非常直接,就是将一个二维梯形沿着一个三维上的轴进行旋转。

Lofting 是一种特殊的变种操作。在这个操作中用户需要定义两个面,程序会基于差值方法建立二者之间的过程,并在这一过程中构造出立方体(见上图)。

2.3 两种方法的对比

IFC: 工业基础类族定义的一些介绍

13 February 2023 at 18:22

我将 Industry Foundation Classes (IFC) 翻译为工业基础类族。IFC 是一套通用的建筑信息模型(BIM)的定义标准。本文对 IFC 提供一些基本的介绍,包括其数据模型的基本结构以及建筑元素的语言描述和几何表达。

本文参考了:https://publications.cms.bgu.tum.de/books/bim_2018/06_IFC_07.pdf

1 背景

构建建筑信息模型(BIM)的思想来源于我们试图将所有的建筑模型数据的数据交互操作中使用一致的建筑模型。这样可以避免手动添加模型中的已有数据(例如交圈的时候),并降低操作过程中的误差。除了方便模型构建过程中的数据交互,统一的 BIM 模型使得建筑模型交付过程变得简单而可靠。

目前市面上已经存在了很多不同的建筑设计软件,这些软件有的着眼于建筑物的几何设计,有的着眼于建筑分析和模拟,有的着眼于建筑操作维护,等等。然而,问题在于这些软件之间缺乏统一的数据交换协议,因此设计师在使用不同的软件时,需要讲相同的数据信息重复地手动输入到这些软件,这增加了工作量,并且提高了出错的概率。

为了解决这一问题,我们需要设计出满足这种需要的统一数据格式。此数据格式需要提供统一的、准确的几何描述;提供完备的建筑语义表达(包括建筑元素的分类树系统,以及这些元素之间的关系)。设计这样的数据格式存在诸多挑战,而且,在建筑领域,相比于其他工业领域,还存在下面这些挑战:

  • 一个建筑的设计和施工通常由不同公司负责;
  • 建筑设计通常由几个不同的阶段,不同的阶段由不同的团队完成;
  • 整个建筑项目的生命周期设计多个不同领域的专家,而这些专家可能分属不同的公司;
  • 不同公司之间的协作通常是 ad-hoc 方式(与之对应的是中央协调方式),且这种合作通常局限于项目周期内,而非双方具有长期的稳定合作关系;

简而言之,建筑行业的特征是由众多独立参与者共同参与的高度碎片化的过程,这意味着在这一过程中中会涉及多种不同的软件工具,同时也意味着统一标准较难施行。同时,权力机关在指定标准时也比较难以某个特定的软件作为统一标准,即若要推行统一标准,此标准应该是 Vendor-free 的。

为了达成此目标,国籍组织 buildingSMART 投入了数十年的时间来开发 Industry Foundation CLasses (IFC)。IFC 是一个复杂的数据交互格式,其可以以面向对象的方式描述一个建筑物的几何属性和语义信息。IFC 将建筑物拆解为构件元素和空间,把那个描述他们之间的复杂关联关系。此数据结构可以贯穿建筑设计的整个生命周期。需要注意的是 IFC 是一个类型设计标准,而非一个具体的软件,因此 IFC 的落地施行还需奥各个软件厂商进行针对性的实现。然而,完整的 IFC 标准实现旷日费时,因此 buildingSMART 提出了 Model View Definitions (MVD) 的概念。MVD 定义了在特定任务场景下,哪些 IFC 数据模型应该被实现(而非整个 IFC 模型)。

2 IFC 的历史

略。

3 EXPRESS - IFC 标注的数据模型语言

IFC 的研发采用了和 ISO 标准体系的相同技术手抖,即 EXPRESS 建模语言。EXPRESS 是一种声明式语言,可用于定义面向对象的数据模型结构。

EXPRESS 使用了 Entity(实体) 类型来对应面向对象理论中的类的概念。对于每个实体类型我们可以定义其具备的属性以及同其他实体的关系。EXPRESS 同样采用了面向对象的设计中的继承概念,这使得属性与关系可以应用到实体类型的子类型中。

两个类型 TypeA 和 TypeB 的对象之间的关系定义方式是赋予 TypeA 中定义类型为 TypeB 的属性。我们也可以以类似方式定义与之相对的反关系;

聚合数据类型 -- list, array, set 以及 bag 都是 EXPRESS 模型语言的一部分,这样方便我们定义一对多和多对多关系。EXPRESS 支持以 WHERE 关键字来定义保持数据一致性的算法条件。在 WHERE 语句块中包含了一个返回值为 Bool 类型的表达式,当此值为 True 时,其对应实例才会是有效的。

使用 EXPRESS 语言定你要数据模型的一个例子。

EXPRESS 中的 select 类型在继承树之外提供了一种额外的方法来讲多个实体类型赋予到一个高阶构型上。

取值范围局限于有限几个选择时,我们使用枚举类型来表示。例如 IfcBooleanOperator 可以取值为 UNION, INTERSECTION 或者 DIFFERENCE

除了文本表示以外,EXPRESS 定义了一种图示方法来表示数据模型。这种图示方法被称为 EXPRESS-G。

EXPRESS-G 的例子。

4 分层组织

为了改进了 IFC 模型的可维护性和可扩展性,该模型被构建成多个层。其基本思想是位于上层的元素可以索引其下方的元素,但是反之不可。这使得核心元素保持独立性。

4.1 Core layer

核心层包含了数据模型的大多数基础类型。他们可以被上层的所有元素索引。这些类定义了基础的结构,管架拿到关系以及可以被复用的通用概念。Kernal schema 中定义了 IFC 模型的核心概念,其包括一些非常基本的类:IfcRoot, IfcObject, IfcActor, IfcProcess, IfcProduct, IfcProject, IfcRelationship。在这些基础类型至善是是三个扩展包:Product Extension, Process ExtensionControl Extension,这些也是核心层的一部分。

Product Extension 中包含了一个建筑物中实体性的和空间对象的定义及其关系。这些子类包括: IfcBuildng, IfcBuildingStorey, IfcSpace, IfcElement, IfcBuildingElement, IfcOpenningElement(都是 IfcProduct 的子类),以及 IfcRelAssociatesMaterial, IfcRelFillsElement and IfcRelVoidsElements(都是 IfcRelationship 的子类)。

Process Extension 主要描述过程和操作,这个扩展包同时也提供了定义流程元素的依赖关系的手段。

Control Extension 定义了控制对象的基本类,如 IfcControlIfcPerformanceHistory,并可以将这些对象分配给物理和空间对象。

4.2 Introperability Layer

从共享层位位于核心层上方,起到核心层和应用领域之间的互操作(Interoperability)层的作用。这一层的类包括 IfcWall, IfcColumn, IfcBeam, IfcPlate, IfcWindow

4.3 Domain Layer

Domain Layer 中的类是高度特异化的类,往往只用于特定的领域。他们构成了继承树的叶子节点。这一层的类不能被其他层引用,在同一层的不同领域之间也不能互相引用。

4.4 Resource Layer

资源层是位于最底部的一层,可以在整个 IFC 模型中被使用。这一层中的类并非由 IfcRoot 导出,因此并不具备特定的 id 标识。不同于其他层的对象,这些类型并不能以独立的对象存在,而必须被其他 IfcRoot 的子类型对象引用。在这一层的对象中,最重要的资源类包括

  • Geometry Resource: 基础几何元素,包括点、向量、参数化曲线以及扫过的面(swept surfaces);
  • Topology Resource:包含了地表一个实心体的拓扑结构;
  • Geometry Model Resouce: 描述几何模型的类,如 IfcCsgSolid, IfcFacetBrep, IftSweptAreaSolid
  • Material Resource: 描述材料
  • Utility Resources: 用于描述 IFC 对象的从属关系和版本历史;

除了这些之外,资源层还具有一系列的 scheme 定义,例如 Cost, Measure, Datatime, Representation 等。

5 继承树

IFC 模型定义局部

如同任何其他面向对象设计的数据模型一样,继承树在 IFC 中扮演了关键的角色。上图展示了 IFC 模型继承树的部分结构。在本章节我们关注其中的若干重要类。

5.1 IfcRoot 及其直接子类

继承树的起点是 IfcRoot 类。除了资源层的类以外,其他所有层的对象都必须直接或者间接地继承自 IfcRoot。这个类提供了基础的对象身份功能(GUID),该身份标识可以唯一地确定一个对象,并检索其在变更历史上的位置。除此之外,每个对象可以具备一个名称和一段描述。

直接从 IfcRoot 派生出来的类是 IfcObjectDefinition, IfcPropertyDefinition 以及 IfcRelationship

IfcObjectDefinition 是所有代表物理对象、空间对象以及概念对象(conceptual elements)的类的祖先;这个类的是哪个子类是 IfcObject, IfcTypeObjectIfcContext (代表一般的项目信息)。

IfcRelationship 的子类代表了对象之间的关系。这个设计将关系本身的语义信息和对象自身的属性解耦开来。

IfcPropertyDefinition 定义了一个对象具有的,尚未定义在 IFC 数据模型中的属性。

5.2 IfcObject 及其直接子类

如前所述,IfcObject 代表了一个建筑项目中的各种具有实际物理含义的对象。它是 IFC 模型中六个重要类的父类:

  • IfcProduct: 代表一个物理对象或者空间类型;IfcProduct 对象可以被赋予一个几何形状表达,并被放置到项目坐标系中;
  • IfcProcess: 代表了在一个建筑项目中的一个处置流程(规划、建设、操作等)。这些流程具有时间维度;
  • IfcControl: 控制或者限制另一个对象的对象。这种控制形式可以是法律,指导、规范、边界条件或者其他限制条件;
  • IfcResource: 描述了作为一个流程的一部分的对象;
  • IfcActor: 描述建筑项目中人的参与;
  • IfcGroup: 对象的任意组合;

5.3 IfcProduct 及其直接子类

IfcProduct 能够表示所有和几何、空间上下文相关的对象。这类对象具有几何形态属性和空间位置属性。

IfcElemenetIfcProduct 一个子类,它是一系列描述物理对象的重要类型的父类,如 IfcBuildingElement(这个类是 IfcWall, IfcColumn, IfcWindow 等类的父类);

IfcSpatialElement 类,用来描述非物理形态的空间概念对象。其子类包括 IfcSite, IfcBuilding, IfcBuildingStorey, IfcSpace

IfcProxy 这个子类被用作占位符,用于表示不具备语义类型的对象。这些对象有时候也可以具有几何形态和位置信息。其子类包括 IfcAnnotation, IfcGrid, IfcPort

6 对象关系

6.1 一般概念

对象关系是 IFC 数据模型的重要方面。典型的关系类型可以是整体/部分关系,链接关系或者定义关系。IFC 将关系描述本身对象化,即在业务含义上具备一定关联关系的对象直接并不直接持有指向对方的引用,而是通过一个媒介对象来建立间接的链接,此媒介对象代表了关系本身。关系对象本身描述了方向的指向,在命名规范上,分别用 related...Elementrelating..Element 来代表关系的客体和主体。同时,为了检索反向关系,在主体和客体对象中会建立对应的关系属性。正向和反向关系相关属性指向的是同一个关系对象。

主体、客体与关系描述对象的关系示意图

关系对象都是 IfcRelationship 的子类的实例。相关类型的继承树系统见下方的示意图。IFC 中定义了下面六种基本关系:

  • IfcRelAssociation: 用于将一个外源信息(例如 classification, libraries or documents)关联到一个对象。
  • IfcRelDecompose: 用于表示对象的组分拆分的概念。这个关系描述了整体/部分的关系。其子类包括 IfcRelNests(被嵌套的对象内有顺序), IfcRelAggregate(聚合对象之间没有顺序), 以及 IfcVoidElement (对应开口 openning 关系)。
  • IfcRelDefines: 将一个对象关联到一个属性集定义(Property Set Definition)或者一个类型定义(Type Definition)。
  • IfcRelConnects: 描述两个对象之间的连接关系;
  • IfcRelDeclares: 代表了一个对象,其定义属性与相应上下文的关系、
  • IfcRelAssigns: 代表两个对象之间的一般意义上的链接关系。
IFC 数据模型中关系类型的继承树系统

6.2 空间聚合结构

IFC 模型对建筑的描述的一个重要底层概念是空间在不同层级上的聚合体系。所有具有空间语义含义的概念都派生自 IfcSpatialStructureElementIfcSite 用来表示建筑场地,IfcBuilding 用来表示建筑物,IfcBuildingStorey 表示特定的楼层,而 IfcSpace 用来表示独立的空间与走廊。IfcSpatialZone 表示一般意义上并不满足默认的建筑结构特征的空间区域,这些空间通过 IfcRelAggregates 关系组织起来。

空间结构体系的一个示例。

上图展示了空间结构体系的一个示例。上图中需要注意的是在被聚合(related)的 IfcSpatialStructureElement 的属性 CompositionType 被用来进一步描述聚合关系所。PARTIAL 表示整体、部分的关系,而 ELEMENT 则代表了简单的嵌入元素。

注意数据模型本身并明确定义每种类型应该出现在聚合体系中的什么位置,其数据规则应该有程序的开发者来定义和保证。这些规则可能包括不同类型的上下层限制与嵌套关系不能构成环路等。

为了描述建筑元素在空间聚合体系中的层级,我们使用了 IfcRelContainedInSpatialStructure 这个关系类型(如下图)。在大多数情况下,建筑元素都会链接到层上但是注意,任何一个建筑元素只能建立一个 IfcRelContainedInSpatialStructure 关系。如果一个元素纵跨多个楼测过,则需要使用 IfcReferencedInSpatialStructure 关系来关联到其他楼层。

IfcRelContainedInSpatialStructure 和 IfcReferencedInSpatialStructure 关系示例。

6.3 空间与边界元素的关系

BIM 场景中大量应用都需要获取空间元素与包围空间元素的边界元素之间的关系,这些边界元素可以是墙体,层以及天花板。为了建模这种关系,IFC 数据模型引入了 IfcRelSpaceBoundary 关系。其属性 RelatingSpace 指向目标空间,而 RelatedBuildingElement 则指向其边界元素。同时,我们可以使用 IfcConnectionGeometery 对象来表述空间和边界元素接触的表面形态。

空间边界总是从空间对象的视角进行阐述,根据次视角可以将空间边界划分成两个不同的层级。

  • Level 1 空间边界:不考虑边界元素对侧的变化情况。
  • Level 2 空间边界:考虑边界元素对侧的情况,再次划分成两个类型:
    • Level 2 Type-A: 在此边界对侧是一个空间;
    • Level 2 Type-B: 在此边界对侧是(另)一个建筑元素;
不同层级的边界定义。

对于空间边界更精细的定义方式需要根据应用场景来进行进一步设计;

6.4 指定材质

暂时我不关心这个问题,略过

7 几何表示

7.1 语义描述与几何表示的划分

IFC 模型严格区分了语义描述及其几何表示。语言描述表明了对象的语义身份,并且可以与一个或者多个几何表示相关联。因此对象身份将只与一个语义对象有关,而独立于其几何表示。

语义描述与几何表示的划分。

允许为同一个对象关联不同的几何表示,解决了在不同的应用场景下的不同需求。例如在一个纯显示程序中,立体对象只需要使用三角面表示即可完成渲染,但是在编辑场景中就需要使用高质量的 Brep 或者 CSG 表示。也可以为对象关联二维几何表达,使得 IFC 模型中可以保留二位图纸信息。

维护不同的几何表示之间的一致性是开发者的任务,IFC 标准并不解决这个问题。

7.2 几何描述形式

所有设计几何建模的类型都可以被划分到三个类别,分别是 Geometric Model Resource, Geometry Resource,或者 Topology Resource。在多数情况下这些数据结构的定义都符合 STEP 标准或者 X3D 标准。

所有的几何类都集成自抽象基类 IfcGemetricRepresentationItem。其子类可以分类成曲线表达 (IfcCurve 及其子类),曲面表达 (IfcSurface 及其子类),以及实体表达 (IfcSolidModel 及其紫烈)。几何表达的维度用 IfcGemetricRepresentationItemDim 属性表示。

7.2.1 点、向量与方向

  • IfcCartesianPoint
  • IfcCartesianPointList
  • IfcVector
  • IfcDirection

7.2.2 二维和三维曲线

一共有三个IfcCurve的子类可以用来描述线条,分别是 IfcBoundedCurve, IfcConic, IfcLine。自由曲线可以使用 IfcBSplineCurve 表示。IfcCompositeCurve 可以用来表示由多段曲线构成的复合曲线。

上述类型可以用于三维和二位的曲线表示,但是需要将表示维度的属性设置正确。

7.2.3 Bounding Box

Bounding Box 是高度简化的三维物体表达,通常被用来作为一个 Placeholder,或者连同一个更精细的几何表示一起使用。IfcBoundingBox 使用一个角点加上三个棱线长度来表示这个立方体。

7.2.4 面模型

面模型提供了描述有多个子面(sub-surfaces) 组成的复合曲面。疼吗通常被用来描述空间尺度交大的面(如地形)或者非常平整的面。三维实心体也可以使用他们的曲面表面来描述。

IFC 数据模型支持两种不同的表面模型变种(见下图)。IfcFaceBasedSurfaceModel 可以通过若干 IfcShell 对象来描述不含孔的实心体。这些壳对象可以开的 (IfcOpenShell),也可以是闭的 (IfcClosedShell)。

描述面模型的类

7.2.5 三角化曲面描述

通过三角面来描述立体对象是一种广为接受的形式,这种数据格式几乎可以被所有的可视化软件解读。其缺陷在于立体对象的描述精度收到三角形数量的限制,其数据量较大,且很多软件提供的对这种数据结构的编辑功能比较有限。

IFC 数据模型提供了 IfcTriagnulatedFaceSet 类来描述三角面形式的曲面描述。其基类是 IfcTessellatedFaceSet

IFC 实现了 Indexed Face Set。类 IfcTriangulatedFaceSet 的属性 Coordinates 是一个 IfcCartesianPointList3D 类型的对象,记录了所有三角形面片的坐标。同时每个面片还有一个法向量属性(Normal)。同时也可以链接颜色和纹理属性。

7.2.6 实心体模型

IFC 支持杜仲不同表示三维实体的方法,他们具有统一的基类 IfcSolidModel。这些类包括 IfcCsgSolid, IfcmanifoldSolidBRep, IfcSweptAreaSolid 以及 IfcSwiptDiskSolid

manifold: a collection of points forming a certain kind of set, such as those of a topologically closed surface or an analog of this in three or more dimensions.

7.2.7 边界表示

表示几何实体最有效、最灵活的方式是边界表示 (Boundary Representation, BRep)。IfcManifoldSolidBrep 的两个的子类 IfcFacetedBrepIfcAdvancedBrep 实现了两种典型的 BRep 数据结构。其中,前者只能描述平直的面(指每个子面都是平的),但是后者可以描述存在弯曲的情况。

但是这两个结构都只能描述实心体的外壳,因此无法描述包含孔洞的情况。为了兼容这种情况,IFC 引入了 IfcFacetedBrepWithVoidsIfcAdvancedBrepWithVoids 类。

如下图所示,IfcFacetedBrep 被用来表示具有平整表面的实心体。IfcFacetBrep 对象表示了整体,其 Outer 属性是一个类型为 IfcClosedShell 的对象,而这个对象由进一步引用了一系列的 IfcFace 对象。每个 IfcFace 对象可有任意多个IfcFaceBound 对象描述的封闭曲面。每个 IfcFaceBound 对象指向一个 IfcLoop 类型的对象,这个对象描述了一个点组成的列表。注意在曲面描述中,相邻曲面共享的顶点和边这些对象只会存在一份,此份数据可以被多次引用。

下图展示了使用 IfcAdvancedFace 表示复杂曲面的数据结构的例子。注意在这个例子中,IfcClosedShell 引用的是 IfcAdvancedFace 类型的曲面表示对象。不同于 IfcFace,这个类的对象本身具有几何描述属性,此属性为使用 NURBS 几何描述模型的 IfcBSplineSurface 类。在下方的各个层级的对象中,其几何描述都指向此描述模型中几何对象。

7.2.8 构造性实心几何表达 (Constructive Solid Geometry)

GSG 模型通过简单实心体元素的布尔操作来定义复杂实心体,这些操作包括并 (Union)、交 (Intersection)、差 (Difference)等操作。IFC 数据模型提供了 IfcCsgPrimitve3D 及其子类 IfcBlock, IfcRectangularPyramid, IfcRightCircularCone, IfcRightCircularCylinderIfcSphere 等类型类表示基础实心体元素。

IfcBooleanResult 被用来描述几何操作,其 Operator 属性可以在三个可选项中取值 -- UNION, INTERSECTIONDIFFERENCEFirstOperandSecondOperand 好随性则指向参与操作的元素,这些元素可以是 IfcSolidModel, IfcHalfSpaceSolid, IfcCsgPrimitive3D 或者 IfcBooleanResult。我们可以看出 IfcBooleanResult 可以递归式地使用,从而具备强大的表示能力。

7.2.9 裁切 (Clip)

裁切可以用来表示实心体被一个平面切开的过程。这个过程使用一个特殊的 CSG 操作来实现。第一个操作对象是待裁切元素(IfcSolidModel),第二个操作对象是一个特殊的半空间对象 IfcHalfSpaceSolid,操作符总是 DIFFERENCE

7.2.10 旋转、挤出和扫掠实体

IFC 中我们可以通过 IfcSweptAreaSolid 及其子类 IfcExtrudeAreaSolid, IfcRevolveAreaSolid, IfxFixedReferenceSweptAreaSoid 以及 IfcSurfaceCurveSweptAreaSolid。除了这一支类族以外,还有直接继承自 IfcSweptDiskSolidIfcSweptDiskSolid

每个操作的从基础元素形态以 IfcProfileDef 类型的对象给出(这是操作类的 SweptArea 属性)。IfcProfileDef 最常见子类是 IfcArbitraryClosedProfileDef,这个类通过引用一个 IfcCruve 对象来指定一个基础的闭合图形。

通过使用 IfcExtrudedAreaSolid,基础图形元素可以型一个指定的方向(ExtrudedDirection 属性)挤出指定的距离(Depth 属性)。如果是使用 IfcResolvedAreaSolid,则基础图形会被绕着指定的轴(Axis 属性) 旋转指定的角度 (Angle 属性)。

使用 IfcFixedReferenceSweptAreaSolid 类,我们可以表示一个基础图形沿着空间中的指定曲线 (Directrix 属性) 运动扫略过的实心体。其特征是在扫略过程中,基础图形的不会发生形变,其朝向和一个固定的引用向量 (FixedReference 属性)保持一致。

使用 IfcSectionedSpine 可以表示一组连续的的基础图形之间的差值(上图左侧)。其类型为 IfcCompositeCurve 的属性对象描述了合成曲线的轨迹。CorssSections 属性记录了参与差值的各个基础图形,每个图形的位置由 CrossSectonPosition 给出

IfcSweptDiskSolid 直接继承自 `IfcSolidModel。其使用的扫掠基础图形总是圆形,且在扫略过程中基础图形的朝向会随着轨迹的变化而改变。

7.3 相对定位

IFC 模型中的几何定位强烈地依赖于局部坐标系统。不同的坐标系统之间需要建立映射关系。例如墙体的定位坐标是相对于本层的坐标系统,而层的坐标系统可以映射到整个建筑物的坐标系。这个多层级的坐标系体系可以赋予模型更大的灵活性。IFC 中,我们将上述思想命名为 Local Placement。IFC 中定义了一系列派生自 IfcObjectPlacement 的类,如下图所示。

IfcLocalPlacemente 类继承自 IfcObjectPlacement,此类提供了两个属性:一个可选属性 PlacementRelTo 属性指向提供父级坐标系的对象(这个对象也是 IfcObjectPlacement 类型的,若为空,则对象的定位是相对于全局坐标系的),和 RelateivePlacement 的属性(定义了从父级坐标系到局部坐标系的变换)。这里的变换可以是二维 (IfcAxis2Placement3D) 的或者三维的 (IfcAxis2Placement3D)。下图展示了 IfcAxis2Placement3D 工作的原理。

相对定位体系的图示。

IfcLocalPlacement 构成递归体系和建筑空间对象之间的体系具有密切的联系。在一般实践中,只有 IfcSite 对象才会在全局坐标系中完成定位,而次级对象都以局部相对定位的方式来完成坐标描述。

除了定位系统以外,IFC 中还提供了对齐功能。IfcGrid 类提供了一种非常灵活的网格定义能力。此处所称的网格可以正方形的,辐条型的或者三角形的,如下图所示。非规则性的网格系统也能够被定义出来。基于网格的定位类 IfcGridPlacement 及其属性 PlacementLocation 可以描述在网格系统中的定位。

8 扩展功能:属性集及代理

对于建筑对象的基础关键属性,如门、墙的属性,我们可以提前在 IFC 规范中通过成员属性的方式给出定义。不过针对不同业场景,这些基础建筑元素还可能衍生出大量不同的属性,这些属性如果直接以属性形式定义在其类定义中,无疑会使得整个模型变得臃肿,同时,这些扩展属性类型我们也无法提前全部定义。为了解决这个问题,IFC 将属性分为两类:一类是直接定义在 IFC 模型中的静态属性,另一类是可以动态创建的属性。动态属性可以通过 IfcProperty 的子类来完成定义(通常是 IfcPropertySingleValue,这些属性可以根据需要而自由地谈加到实例中。动态属性的数量本身没有限制。新的对象属性的定义方式一简单的键值对形式进行。属性对象可以被 IfcPropertySet 组织起来并成组地被赋予给对象(通过 IfcRelDefinesByProperties 关系)。

属性集使用的例子

IfcProxy 系统是对动态属性集机制的一个补充。代理机制使得我们可以在程序运行的动态环境下的赋予一个类以语义含义。

9 建筑元素的类型化(Typification)

为了更加高效地描述在模型中频繁出现的对象,IFC 支持可复用对象(reusable types)。一个元素可以作为模板对象而被再次初始化,此时部分数据可以在新对象中被复用,而只有不同的部分需要被设置。IFC 支持在两种情况下的类型化。

9.1 语义对象化(Semantic typification)

若一个 IfcTypeObject 通过 IfRelDefinesByType 关系关联到一个对象,在对象被真正初始化之前,属性集对象会先被初始化并关联 IfcTypeObject 上,而具体的建筑元素对象通过建立和此对象的关系来索引扩展属性定义。

9.2 几何对象化(Geometric typification)

几何表示的复用可以通过 IfcMappedItems 来实现。同大多数 CAD 中引入的「块」概念类似,几何表示对象 IfcShapeReprestation 首先被常见出来,并存储在由一个局部坐标系定义的 IfcRepresentationMap 对象中。这个对象类似于 IfcPropertySet,可以被分配给一个 IfcTypedObject。以一个门的对象定义为例,当一个门被创建时,此对象会建立起对 IfcReprensentationMap 的引用,然后门对象会使用一个本地变换操作 IfcCartesianTransformationOperator 来得到自身的几何表示。

预言在应验:五年前所讨论的未来人机交互的新范式_6.ylog

By: Steven
16 June 2024 at 22:58

从 2024 年的今天,回望 2019 年的 Apple 和 Ive 团队,我们会发现有些变化和趋势似乎是早已注定的。在过往的观察和分析中,我们所预言的事情正在成为现实和主流。常言道以史为镜可以知兴替,今天再看当时的 Apple 和 Ive 团队,关于产品的演进思路和设计策略的变化都早有端倪,也能预见在 AI 席卷的浪潮下,Apple 将会如何应对。

在这一期,你会听到:

—- 二十年前的专利文件:通体透光的 iPhone

—- 国产厂商和 Apple 在设计上的差异

—- 成功的设计:AirPods 只是剪掉线的 EarPods

—- 塑料手机的设计巅峰:iPhone 5c

—- 刘海与机器视觉:早早布局的 AI 伏笔

—- 未来十年的人机交互:人和人之间怎么交互?

—- 设计策略上的「S型曲线」体现在哪里?

—- 产品路径上迷路的 iPad

—- 光洁的划痕:是矫情还是哲学?

—- 史上最佳手机壳:iPhone 5c 的多彩硅胶壳

—- 拟物化的残党,现在理解扁平化的先进性了吗?

|相关图片|

首款 Unibody 设计于 2008 年 10 月发布
截图来自:Designed by Apple in California

查看更多图片和设计讨论:Mac Pro 2019

|拓展阅读|

如何评价 iPhone X 的工业设计?

交互的王,时代的狂!万字详解灵动岛的今生来世!

十年轮回?经典进化!工业设计师深入解读 iPhone12!

从技术寿命 S 曲线,看阳极氧化铝的设计

抽象的产品,用户「界面」的设计

如何看待 Evans Hankey 从 Apple 设计团队离职?

注定会离职的 Jonathan Ive 和科技产品的设计趋势

|登场人物|

苏志斌:工业设计师,车联网智能硬件产品经理 / 联创,《设以观复》作者

王汉洋:AI 行业从业者,多档播客主播,《拯救东北1910》《山有虎》作者

|相关链接|

若你所使用的播客客户端未能完整显示插图,或遇网络问题未能正常播放,请访问:

荒野楼阁 WildloG 的地址:https://suithink.me/zlink/podcast/

阅读设计相关的各类文章:https://suithink.me/zlink/idea/

|其他社交网络媒体|

苏志斌 @ 知乎|SUiTHiNK @ 即刻 / 微博

苏志斌SUiTHiNK @ Bilibili / YouTube / 小红书

|联络邮箱|

suithink.su@gmail.com

欢迎在 小宇宙、Spotify、YouTube、Apple Podcast 收听本节目,期待你的留言。

播客的收听数据似乎很符合我的期待

By: Steven
7 June 2024 at 00:30

其实有点出乎我意料,除了 Apple Vision Pro 那期,最受欢迎的居然是聊《九龙城寨》和《暗恋桃花源》的这两期。而且,刚发的《谈判专家》这期的收听量也在稳定上涨。聊 AI 那期尽管内容很多,但收听量比这些都少得多。

从博客后台数据能看到,最近一周的主要收听量中,三分之二都来自这三期聊戏聊剧的节目。

我原本以为,收听我节目的主要人群,是过去在知乎和 B站看我讲设计的读者和观众。

这么看下来,我有一个猜测:收听我播客的人群当中,有很大一部分比例,可能是此前并不认识我的路人,他们对科技类话题的兴趣,没有对娱乐类型的话题高。

挺好的,这也挺符合我最初对播客的预期,这样我就可以不用老聊设计和产品了!

荒野楼阁 WildloG:https://suithink.me/zlink/podcast/

小宇宙: https://suithink.podcast.xyz

Spotify:荒野楼阁 WildloG

YouTube:荒野楼阁 WildloG

Apple Podcast 在中国大陆地区目前只支持通过 URL 订阅:

https://suithink.me/category/podcast/feed/

偏见和缺陷是创作的灵药:人类和 Ai 有什么区别_3.ylog

By: Steven
16 May 2024 at 21:00

无论你对 Ai 秉持怎样的态度和观点,都希望这期节目能给你带去一些思维激荡的时刻。作为工业设计师,我认为,如果不时常忏悔,不为自己做的东西(无论是否在自己的意志下,通常都不在)对这个世界造成的影响抱有歉意,这样的人很容易成为误以为自己是夜神月的弥海砂。

这是一期需要配图食用的播客,从近期一组以「戏剧感」为创作目标的十二生肖聊起,关于 Ai 创作的评价和人类作品之间的区别,谈到如何在这个 AIGC 爆发的时代下找到自己的位置。

创作者的骄傲和创作者的骄傲,是南辕北辙的两件事。

在这一期,你会听到:

—— 什么样的作品是有「人味儿」的?

——「偏见」和「缺陷」是艺术创作的灵药?

—— 为什么 Ai 会在创作领域疯狂爆发?

—— 现当代艺术常被人诟病的原因之一:抽象

—— 细节!什么是令人信服的细节?

—— 这些 Ai 正在拓宽我的眼界;

—— 人不能创造出自己从未见过的东西,吗?

—— 设计不是天马行空地想象,它是一种「劳作」;

—— 超人的诞生;

—— 超人的洞察和创新,与人类无关;

—— 能耗、模型与错觉;

—— 涌现、艺术与创新;

—— 马车夫的工作经验如何平移到汽车司机?

—— 选择 AIGC 工具的基本思路;

—— 向藻类致敬!

|相关图片|

—- 十二生肖系列中的兔、马、猴,完整图集和介绍 见链接

—-《城堡下的人群》(参考马列维奇的风格)

—- 毫无表达意图的随手测试图

—- 似是而非的剃须刀设计图

—- 汽车设计草图的测试

|相关阅读|

—- 十二生肖·Midjourney·戏剧角色设计

—- 描觀念 繪感受|超微型 AI 觀念畫展

—- 艺术可以糊弄,体力劳作也是高级智能

—- 表达的精度就是人类外延的尺度

—- 镜头的变幻就是故事

|登场人物|

苏志斌:工业设计师,智能硬件产品经理,《设以观复》作者

|相关链接|

若你所使用的播客客户端未能完整显示插图,或遇网络问题未能正常播放,请访问:

荒野楼阁 WildloG 的地址:https://suithink.me/zlink/podcast/

阅读设计相关的各类文章:https://suithink.me/zlink/idea/

|其他社交网络媒体|

苏志斌 @ 知乎|SUiTHiNK @ 即刻 / 微博

苏志斌SUiTHiNK @ Bilibili / YouTube / 小红书

|联络邮箱|

suithink.su@gmail.com

欢迎在 小宇宙、Spotify、YouTube、Apple Podcast 收听本节目,期待你的留言。

💾

伟大的公司需要多少人

By: MacTalk
23 May 2023 at 13:31

AI 绘图软件 Midjourney 算是这波 AIGC 浪潮中的佼佼者。最近我一直在看这家公司的成长故事,11 个全职员工,0 融资,一年时间积累了 1000 多万用户和一亿美金的营收。

我参与锤子创业的时候,非常喜欢大开大合,希望规模化最大,但从锤子到极客时间,再到墨问西东,我的想法转变了,规模并不重要,小公司也可以做大事。

Midjourney 成立于 2021 年,创始人 David Holz 是一个典型的技术男,在此之前,他还以 CTO 的身份联合创办了 VR 领域的公司 Leap Motion,主要研究手势跟踪技术。

我们先说说这个故事。

创立之初,Leap Motion 备受关注,三年内迅速拿到了 4000 多万美元的融资,团队心高气傲,想做出一些改变世界的产品。后来苹果公司提出想收购 Leap Motion。但 Holz 觉得对方出价太低,并且,没有乔布斯的苹果已经没有什么创新力了,他不愿意为那些人工作,他想自己创造一家具有创新力的新公司。
2013年,Leap Motion 相继发布了几款自己的产品,包括 PC 和 VR 方面的,但都不温不火,没有在市场上激起太大的水花。这对于创业公司来说,并不是什么好兆头。

市场反馈不好,增长无法达到预期,Leap Motion 自然也就拿不到新的融资。但没钱难办事。他们自己造血的能力不够,养活团队、继续研发新产品又需要钱。于是,公司忍痛裁员,优秀的员工相继流失,似乎进入了下行通道。

Holz 和另外一位创始人带着团队继续折腾,这也是创业的常态,把事情做对需要一个过程。Leap Motion 复盘了公司早期的失误,调整策略,继续探索未来人和计算机的互动模式。

但从市场反馈看,他们业务起色不大。直到 2019 年,被另外一家同行业的公司低价收购。

第一个故事结束了,新的传奇拉开了帷幕。

之后 Holz 创立了 Midjourney。这次,他不融资,不追求团队规模,更关注公司盈利能力,这些经营理念,应该都是他对第一段不算成功的创业经历的回应。

我参与锤子科技创业,自己独立创建极客时间这个产品和品牌,到现在出来做墨问西东和墨问便签,有很多想法都能从 Midjourney 上找到共鸣。也许未来很多成功的创业公司,都会类似 Midjourney。

因为什么呢?

1、创业团队人少而精才是正解。人少,并不意味着做的事情小。Midjourney 用 11 个员工一年以内做到了 1300 万用户,年营收 1 亿美元。我也在创业,时常告诉自己,资源有限是好事。资源有限,会不断倒逼团队思考什么才是最重要的。

2、经营 Leap Motion 时,Holz 大概率被资本裹挟过。别人投资你,肯定需要考虑退出的事,而退出,大概率都要依靠 IPO。但对于创业团队而言,过于关注结果,过于关注增长,都会让团队丧失初心,动作变形。有实力的话,可以不拿融资,一开始也不需要招那么多人,慢慢来。这也是一种新的、符合常识的创业方式。

3、Leap Motion 创业过程中,Holz 积累了很多信任和欣赏他的人脉。当 Midjourney 需要一万个 GPU 时,有朋友慷慨解囊。所以,手艺、影响力和人脉,都很重要。不要厚此薄彼。

4、Holz 说自己离开 Leap Motion 创办 Midjourney,是为了换一个环境,因为他不想继续待在一个由风险投资支持的大公司,希望自己在未来 10 年可以做很酷的项目并且享受乐趣。而小的团队,更能专注在他想要做的事情上,毕竟他们没有销售的压力,也没有成为一家上市公司的想法。大家只是去做自己喜欢的事就好。

5、不依赖融资,就需要团队较早考虑盈利。之前的很多创业团队,一上来都会先做用户增长,等差不多了再做收入。但 Midjourney 没有钱,他们在设计产品时,第一步就是思考怎么才能挣钱。这年头,不要以创业,我融了多少钱为荣。

6、Midjourney 的盈利模式非常简单,订阅制,按月或者按年付费,一共三档:基础、标准、高级。现在已经没有免费版本。产品的收费模式,越简单越好。

7、不要追求从 0 开始创新。Midjourney 的模型,最早是基于 CLIP 及 Diffusion 的开源模型,抓公开数据训练,然后迅速上线 Open Beta 版本,占领用户心智。不要有洁癖,快速借鉴别人的经验是一种能力。

8、Midjourney 只有 11 个全职员工。但你知道吗?他们还有 60 多位兼职 Discord 运营。对于一些可以标准化,没有壁垒的工作,用兼职的方式搞定是一个思路。如无必要,勿增实体。

9、知道什么重要,什么不重要,并敢于取舍。Midjourney 到现在都没有独立 App,也没有网站,和用户的所有交互都在 Discord 上。要是你,敢这样吗?不要眉毛胡子一把抓,不要追求完美。“从长远来看,Midjourney 将拥有自己的网站,自己的用户界面,但现在公司不需要花费时间来构建整个用户界面。”这是 Holz 的判断。

10、但是搭载在 Discord 里,也不是一开始就明确的。用户测试完他们才发现,90% 的人不知道怎么告诉它他们想要什么,于是加入了教学元素。后来发现很多人并不喜欢一个人画,更喜欢跟朋友一起玩,他们才意识到 Midjourney 是社交的东西,加入了社交元素。“构建产品最重要的部分,就是对发现事物的真实本质持开放态度。”

11、“技术的最大限制不是规模、成本或速度,而是人们如何与之互动,从根本上决定了我们能做什么。”操作系统以及搭载的各种软件,是我们现在与计算机互动的方式,但看历史,从指令到键盘,到触屏、对话框、语音,甚至手势,人与机器互动的门槛越低,能做的事情越多,生产力的解放越深入。

12、AI 不是现实世界的复刻,而是人类想象力的延伸。Midjourney 做的事情是帮助人们扩展想象力,写 prompt 的指令是“/imagine”。顺着这个方向,我觉得 Midjourney 会成为一个设计领域的生产力工具。这一波 AIGC 的产品,都应该奔着生产力工具的方向去才有前途。

13、想象力实在太重要了。张一鸣之前说过一段话,“同理心是地基,想象力是天空,中间是逻辑和工具。A/B 测试只是一个工具而已,是测不出用户需求的,同理心才是重要的基础。如果没有同理心,做出的产品肯定没有灵魂,不能满足用户需求。但是光有同理心还不够,这样只能做出有用的产品。想要做出彩的产品,想象力非常重要。”

14、大模型技术不会替代人类,它是人类的延伸。

15、永远不要试图凭空设计一个完整的产品体验,你只需要找到十个看似无关的体验,选择其中最酷的三个,把它们放在一起,然后在细节上进行完善,让人们觉得它不错并喜欢上它,好的产品就是这样一步步做起来的。

16、工具要想活的好,活得久,永远要让自己嵌到用户的业务流程里,简单讲,要么帮他赚钱,要么帮他省钱。生成的图片商业性很强,Midjourney 才能从一众工具里脱颖而出,很简洁的 prompt 就能生成有明显科幻性的精美图片,让用户数大而且付费意愿很强的设计类用户显著提高效率。从影响创造力开始,以影响生产力立足。

附图:陈晓维老师说,用AI给我的小说《像钻石一样闪耀》女主角厉小卷画的像。终于知道她长什么样了。

Spotify几天使用下来的感受

By: AUTUMN
4 October 2018 at 13:11

很久以前就听过Spotify的大名了,毕竟是世界上最大的音乐流服务公司。虽然说一直听过,但是我一直秉承着国内Apple Music只要10元一个月,而我是学生仅仅需要5元一个月的观点一直不舍得花钱去买另一个听音乐的东西。但是最近还是心痒痒了,所以先去买了一个月试试,刚用了几天,来谈谈我这几天的体验,顺便简单对比一下国内音乐流服务商和Apple music,Spotify这些国外的服务商的区别。

国内 VS 国外

高中以前我大概是用酷狗音乐,QQ音乐的,当时国内版权意识还没有现在这么高。当时我往往都是知道一首歌,而不知道这首歌的专辑,所以我们朋友之间一般都是说讨论这首歌,而这首歌属于这个歌手哪张专辑或者说这个歌手有什么专辑,我想当时讨论这首歌的朋友们绝大部分是不知道的。所以在我看来国内和国外的服务商用起来最大的不同在于,国内侧重于一首歌,而国外侧重于一张专辑。

在我第一次使用Apple Music时就感觉到了,因为你假如搜索一首歌,你不会说仅仅只这首歌,在你搜索到的这首歌的下面往往会有这首歌的专辑显示。

而相同的,Spotify和Apple Music也会在你搜索到这首歌的时候,点击搜索到的歌曲后会自动跳转到这首歌所属的专辑的这首歌曲的位置。

虽然说国内的也有专辑划分,但是没有像国外的这么明显刻意。我自己是明显感觉到了,正因为如此,我才不知不觉的知道了很多我所不知道的专辑和更多的歌曲。因为一般这首歌好听的话,整个专辑我都可能会刷一遍。

Spotify

Apple Music

Apple Music VS Spotify

经过这几天Spotify的使用,感觉起来Spotify更像一个纯粹的听音乐的工具。他除了耳熟能详的推歌算法他还有很多小细节让我十分心动。以前只是随意说说,非常不全面,具体还是自己两者都试试为好。

电台

两个都差不多,有个比较大的区别就是Spotify会自动根据你的使用习惯推荐一些歌手的电台给你。Apple Music电台其实挺少的,但是两者功能差不太多。

曲风

这是我非常喜欢Spotify的一个功能,它会根据场景,风格,派系等划分出很多个大类,然后每个大类下有很多播放清单,是不是很像网易云的感觉?Apple Music上倒是没有这些东西。这些东西可以让我在运动时,睡觉时也可以听到很多适合的歌曲。

排行榜

两个服务商其实都有,但是Spotify会做的更细致一点,如下图,会有很多这些东西,让你每日都能听到很多新鲜的歌。我也从中听到了很多自己喜欢的歌。

Apple Music 中当然也有,不过我感觉不太友好。体验上我觉得Spotify更胜一筹。

非常喜欢的小细节

假如你电脑上正在用Spotify听歌或者打开了Spotify这个软件。你就可以在手机上接着播放和电脑上的东西。这东西对于我来说实在是太方便了,这其实是无缝切换。无论你用着什么(手机,电脑),当你想换设备的时候还是可以接着听刚才听到的,再也不用花时间去找原来播放的Radio或者歌单了。

总结

在我现在看来Spotify无疑是比Apple Music好一点,之后我应该会两个同时都用。在目前看来,我有些歌曲在Spotify上还是没有的。所以两者兼用基本就满足我日常需求了。

Spotify 日区?美区?港区?

刚开始我挑选的时候我也挺犹豫这东西的,最后我是选了美区。

当然啦现在最优惠的正规方案还是和朋友一起开家庭版,总共6人组一个团。美区现在形式而言是比较不好组家庭版的了。相较于三个区,我认为最具有性价比的应该是港区,不仅便宜,还包括了很多华语歌,对于国人来说性价比是非常高了,如果你找到了一起组家庭版的小伙伴(找不到可以去某宝看看,卖港区的应该是合租的,卖美区的我倾向黑卡开的)或许每月只需14RMB的费用就可以用上Premium版的Spotify了。

相信很多选择日区的朋友是为了日本一些ACG歌曲,但是其实Spotify并没有很多这类歌曲。所以选日区还不如Apple Music国区,上文说的在Apple Music有的,Spotify没有的就是一些ACG的歌曲。还有一些日本JPOP歌曲也没有,所以日区是我最不推荐的了。

当然你可以各个区都可以试一下,地区是可以随意切换的。

为什么需要Spotify Premium

因为普通用户广告多,听几首歌或许就一个广告过来了,还不能跳过歌曲。音质的话只有128Kbps的码率的音乐。估计耳朵好点的都能听出来了。所以真正使用还是老老实实开个Premium吧。

❌
❌