threejsμ© ifc 2x3 importerλ₯Ό μμ±νμ΅λλ€. λ§€μ° μ€νμ μ΄μ§λ§ λλΆλΆμ κ°μ²΄κ° λ λλ§λ©λλ€.
μ΄κ²μ΄ λ°°ν¬νμ ν¬ν¨λ μ μμ΅λκΉ? λ΄ ν¬λ§μ λκ΅°κ°κ° λ κ°λ°νκ³ κ²°κ΅ ifc4μ λν μ§μμ μΆκ°νλ κ²μ λλ€.
κ°μ Έμ¨ ifcμ μ:
ThreeCSGμ μμ‘΄νλ€λ κ²μ μμμ΅λλ€.
μ΄ νμμ λν΄ λ€μ΄λ³Έ μ μ΄ μμ΅λλ€. μΌλ°μ μΌλ‘ μ΄λμ μ¬μ©λ©λκΉ?
μ κ° μκΈ°λ‘λ μ£Όλ‘ κ±΄μ€μ , λΉλ© λͺ¨λΈλ§μ μ¬μ©λ©λλ€. λͺ κ°μ§λ₯Ό μΈκΈνμλ©΄ Autocad, Revit, Tekla λ° Solibriμμ μ§μλ©λλ€.
μμμ΄, μμμ΄!
ThreeCSGκ° νμν μ΄μ λ 무μμ
λκΉ?
μλ₯Ό λ€μ΄; Wall κ°μ²΄(threejsμ λμΆλ λͺ¨μ)μλ κ°κ΅¬λΆκ° μμ μ μμ΅λλ€. κ·Έλ¦¬κ³ μ κ° μ°Ύμ κ°μ₯ μ¬μ΄ ν΄κ²°μ± μ ThreeCSGλ₯Ό μ¬μ©νλ κ²μ΄μμ΅λλ€. IfcBooleanResultμ κ°μ λ€λ₯Έ κ²½μ°μλ μ¬μ©λ©λλ€.
IfcOpeningElement μ¬μμ λν λ§ν¬:
http://www.buildingsmart-tech.org/ifc/IFC2x3/TC1/html/ifcproductextension/lexical/ifcopeningelement.htm
μμ μ°Έμ‘°ν μ μμ΅λλ€.
http://www.ifcquery.com
@mrdoob , IFCλ Industry Foundation Classesμ μ½μμ΄λ©° BIM(λΉλ© μ 보 λͺ¨λΈ/κ΄λ¦¬) νλ‘μ νΈμ νμ€ κ΅ν νμμ
λλ€. μΌλ°μ μΌλ‘ μ΄μ κ΄λ ¨λ μννΈμ¨μ΄ ν¨ν€μ§λ Revit , ArchiCAD , VisualARQ λ° κΈ°ν λͺ κ°μ§μ
λλ€. μΌλ°ννλ λμ BIM μννΈμ¨μ΄λ μμ
μκ° κ°μ²΄μ λν 맀κ°λ³μλ₯Ό μ μνλ ν¨λ°λ¦¬/μ€νμΌ μ μμ μν΄ κ΅¬λλλ λ²½, μ¬λλΈ, μ§λΆ, κ³λ¨, μ°½ λ±κ³Ό κ°μ νμ€ κ°μ²΄ μ νμ μ 곡ν©λλ€. λ°λΌμ CMU, μκ³ λ³΄λ λ° νμΌ λ μ΄μ΄κ° μλ λ²½μ΄ μλ κ²½μ° λͺ¨λ λ μ΄μ΄μ λκ»λ₯Ό μ μν μ μμ΅λλ€. λ΄κ° λκ°λ₯Ό λ³κ²½νκ³ ν¨λ°λ¦¬/μ€νμΌ μ μλ₯Ό λ³κ²½νλ©΄ λͺ¨λ κ²μ΄ μλμΌλ‘ μ
λ°μ΄νΈλ©λλ€! νμ€μ κ·Έλ κ² λ§μ μ μ΄μ§ μμ΅λλ€! κ° μννΈμ¨μ΄ 곡κΈμ
체λ μμ
/μμΆ http://buildingsmart.org/compliance/certified-software/ μμ λ²½μ΄ λ¬΄μμ ꡬμ±ν μ μλμ§μ λν μ μλ₯Ό μμ λ‘κ² κ°μ§κ³ λ μ μκΈ° λλ¬Έμ λ
Όμμ μ¬μ§κ° μλ νμ
μ§μνκΈ°μ μ’μ νμμ΄λ©° μ€μ ν΄ μ£Όμ @kdilayer μκ² κ°μ¬λ립λλ€. @johnney88 κ·Έ λ·°μ΄κ° threejsλ₯Ό μ¬μ©νκ³ μμ΅λκΉ?
μ, The Viewerλ Threejsλ₯Ό μ¬μ©ν©λλ€.
μ μ₯λ νμΌ 'ifcquery.min.js'λ Three.jsμμ μμ±νμ§λ§ μΈμ½λ©λμ΄ μμ΅λλ€.
ConSciμμ ifcκ° μ¬μ©λλ κ²μ νμΈν μ μμ΅λλ€. μ€μ λ‘ ifc λ³νκΈ° μ±μ μ¬μ©νμ¬ νμ¬ νμΌμ .mtl νμΌμ΄ μλ .objsλ‘ λ³ννλλ° μ λ§ μ μ½νλλ€. κ³ κ°μ΄ μ΄μ¨λ ifc νμΌμ μ λ‘λνλ κ²½ν₯μ΄ μκΈ° λλ¬Έμ μ€κ° μ¬λμ λΉΌλ©΄ μ λ§ λμμ΄ λ κ²μ λλ€.
@rhairston ifc λ³νκΈ° μ±μΈκ°μ? ifc νμΌμ obj νμΌλ‘ λ³ννμ¬ Threejsκ° μ λ‘λν μ μλλ‘ ν©λλ€.
λ΄ λ§μ΄ λ§μ?
μ¬κΈ° ifc λ³νκΈ° μ±μ΄ μμ΅λκΉ?
μ°Έμ¬ν΄μ£Όμ μ κ°μ¬ν©λλ€!
@kdilayer PRμ νλ₯ν κ²μ λλ€. ThreeCSGλ λ£μ΄μ£ΌμΈμ π
μ¬κΈ°μ μ§μ μ΄ μμ΅λκΉ? μ°λ¦¬λ νμ¬ three.jsμ ν¨κ» μ¬μ©νκΈ° μν΄ IFCλ₯Ό DAEλ‘ λ³ννκ³ μμΌλ©° three.jsκ° IFCλ₯Ό μ§μ μ§μνλ€λ©΄ μ’μ κ²μ λλ€.
μλ νμΈμ kdilayerλ,
λλ κ·Έκ²μλ³΄κ³ λ λμκ°λ κ²μ λ§€μ° κ΄μ¬μ΄ μμ΅λλ€.
μλ νμΈμ μ¬λ¬λΆ,
λλ λ΄€λ€ https://www.npmjs.com/package/ifc-convert
μ΄λ₯Ό ν΅ν΄ IFCλ₯Ό DAE, OBJ, STP λ° IGSλ‘ λ³νν μ μμ΅λλ€.
@kdilayer μ΄λ€ μ§μ μ΄ μμ΅λκΉ?
@kdilayer μ¬κΈ°μ μ΄λ€ μ§μ μ΄ μμ΅λκΉ? three.jsκ° IFC νμμ μ§μ μ§μν μ μλ€λ©΄ λ§μ κ²μ μ μ½ν μ μμ΅λλ€.
μ무λ μμμ΄ μμ΅λκΉ?
ifc νμΌμ μ§μνλλ‘ νΈμ§κΈ°λ₯Ό μ‘°μ νμ΅λλ€.
μ€ν¬λ¦°μ· λͺ μ₯μ 첨λΆνμ΅λλ€. λλ κ½€ μ€λ«λμ μ΄ μμ
μ ν΄μμ΅λλ€... νμ¬ λ λλ§ν μ μλ IFC 2x3 νμΌμ λ³Έ μ μ΄ μμ΅λλ€... λ΄κ° μλν κ°μ₯ ν° νμΌμ 180MBμ
λλ€...
μμ²λ.
μ΄λ΄, λ©μ§ μν!
λ§μ€ν° λΈλμΉμμ μ§μ μ‘μΈμ€ν μ μμ΅λκΉ? μλλ©΄ IFC μ§μμ μν΄ μ‘°μ λ μ½λκ° λ€λ₯Έ κ³³μ μμ΅λκΉ?
μ! κ΅μ₯ν΄! μ΄ λ‘λ μ½λμ μ΄λ»κ² μ‘μΈμ€ν μ μμ΅λκΉ? :μν
PRμ ν¬νν©λλ€π . THREE.IFCLoader
λ ν° κΈ°μ¬κ° λ κ²μ
λλ€!
μ°λ¦¬λ μ΄ κΈ°λ₯λ μ’μν κ²μ λλ€. μ§κΈμ https://github.com/IfcOpenShell/IfcOpenShell μ μ¬μ©νμ¬ IFC νμΌμ objλ‘ λ³ννκ³ μμ§λ§ μΌλΆ λ 볡μ‘ν κΈ°ν λνμ μ¬μ ν ββꡬ문 λΆμλμ§ μμΌλ―λ‘ λλ‘λ κ°μ²΄κ° 100μ΄ μλ 100μ΄ μλλλ€. % μλ²½ν.
μλ νμΈμ, λ·°μ΄ λ° λ‘λμμ μ°½μ λ‘λνλ λ¬Έ λ° ν¬λͺ νλ¦κ³Ό κ°μ 볡μ‘ν νλͺ©μ μ»μ μ μλμ§ κΆκΈν©λλ€. μ§κΈκΉμ§ κ΅μ₯ν΄ λ³΄μΈλ€! κ°κΉμ΄ μ₯λμ μ΄ λ²μ μ λ΄λμ κ³νμ΄ μλμ§ κΆκΈν©λλ€.
νμ΄μ λΉλλ€! μ λ°μ΄νΈν΄μ£Όμ μ κ°μ¬ν©λλ€.
@kdilayer λ μλ νμΈμ, κ·νμ μ ν리μΌμ΄μ μ μ‘μΈμ€ν μ μμ΅λκΉ?
.ifcμ three.js νμ κ°μ νμΌ ν¬κΈ° μ°¨μ΄λ₯Ό λ³΄κ³ μΆμ΅λλ€.
κ°μ¬ ν΄μ!
@Foosballfan IFCλ λ§€μ° μ₯ν©νκΈ° λλ¬Έμ ν¬κΈ°μ λν΄ ν₯λ―Έλ‘μ΄ νμμ΄ μλλΌκ³ μκ°ν©λλ€. AutoDeskμ κ°μ μν€ν
μ² μννΈμ¨μ΄λ₯Ό μν κ΅ν νμμΌ λΏμ
λλ€.
BIMμ νμ€μ
λλ€. (μ΄λ° μ’
λ₯μ μ§μ
μμ μ λͺ
ν μ΄ μ©μ΄λ₯Ό Googleμ μμ²)
@jean-noelp λ΅λ³ κ°μ¬ν©λλ€.
34MBμ 건물μ λν ifc νμΌμ΄ μκ³ μ΄ λ°μ΄ν°λ₯Ό κ°λ₯ν κ°μ₯ μμ λ€μ΄λ‘λ ν¬κΈ°λ‘ μΉμ νμνλ €κ³ ν©λλ€.
Unity WebGLμ μ¬μ©νλ©΄ μ½ 11MBλ‘ μ€μΌ μ μμ§λ§ Three.jsλ₯Ό μ¬μ©νμ¬ λ³΄λ€ μμν WebGLλ‘ κ°λ₯νμ§ μκ³ μΆμ΅λλ€. λ μμ λ€μ΄λ‘λ ν¬κΈ°λ₯Ό μ»μ μ μκΈ°λ₯Ό λ°λλλ€.
λΉμ·ν μν©μ λν κ²½νμ΄ μμ΅λκΉ?
@Foosballfan νμΌ ν¬κΈ°λ₯Ό μ΅μννκΈ° μν΄ μλν λ¨κ³λ λ€μκ³Ό κ°μ΅λλ€.
νμΌμ OBJ λλ λ€λ₯Έ νμμΌλ‘ λ³νν μ μλ κ²½μ° λͺ¨λΈμ λ¨μννκ±°λ gzipμ μ¬μ©νλ κ² μΈμλ ν μ μλ μΌμ΄ λ§μ§ μμ κ²μ λλ€. "3.jsλ₯Ό μ¬μ©νλ μμν WebGL"μ νμΌμ λ λλ§νλ λ°©λ²μ΄μ§λ§ νμΌμ λ¨Όμ λ‘λνλ €λ©΄ μ¬μ ν μ΄λ€ νμμ΄λ λ€λ₯Έ νμμ μ¬μ©ν΄μΌ ν©λλ€.
@donmccurdy λ©μ§λ€μ κ°μ¬ν©λλ€!
ν΄λ³΄κ³ μ΄λ»κ² λλμ§ λ΄μΌκ² μ΅λλ€.
λ΄κ° λ§λ κ²μ΄ 34MB νμΌμμ 220MBμ΄κΈ° λλ¬Έμ μλ objλ₯Ό ν¬κΈ°νμ΅λλ€.
@kdilayer μ΄ν λ¬Έμ λ₯Ό λ«λ κ²μ λΆλͺ
ν κ·Έμ ꡬνμ 곡μ ν μμ¬κ° μμ΅λλ€. #5524μ λ‘λ μμ리μ€νΈμ IFCLoader
μ μμ
μΌλ‘ μΆκ°νμ΅λλ€.
IFCLoader
κ° μλ ν IFC
νμΌμ OBJ
μ κ°μ λ€λ₯Έ νμμΌλ‘ λ³νν΄ λ³΄μμμ€. λ€μ λκ΅¬κ° μ΄ λ³νμ μνν μ μλ κ² κ°μ΅λλ€. http://ifcopenshell.org/ifcobj.html
https://github.com/IfcOpenShell/IfcOpenShell λ μ°Έμ‘°
@Foosballfan : IFCλ μ§μ€λ©νΈλ¦¬λ₯Ό μμΆνλ κ°μ₯ ν¨μ¨μ μΈ λ°©λ²μ
λλ€. λ¬Έμ λ λ λλ§μ νμν μ μ°¨μ μ κ·Ό λ°©μμ΄ μΌκ°νκ³Ό μ€μ λ‘ νΈνλμ§ μλλ€λ κ²μ
λλ€. 34MB IFCλ 4GBμ μΌκ°ν μ€νΈλ¦ΌμΌλ‘ μ½κ² μΆμΆν μ μμ΅λλ€. IFCλ μ μ μ΄ 4κ°μΈ μλ³΄μ° νμ΄νλ₯Ό μ€λͺ
νμ§λ§ λ λλ§νλ λ° μλ°± κ°μ μΌκ°νμ΄ νμν©λλ€. OPμ λ λλ§μ ν λ² λ³΄λ©΄ μκ°λ½μ΄ μλ€λ κ²μ μ μ μμ΅λλ€. λ¬Όλ‘ , κ·Έλ μ§μ κ³Ό ν μΆμ ν λ‘μ΄λ λͺ¨μμ ν μ μμ΅λλ€. κ·Έλ¬λ IFC μ¬μμλ λ κ°μ λ² μ§μ΄ μ€νλΌμΈμΌλ‘ μ€μλ νλ©΄μ μ μκ° ν¬ν¨λ©λλ€. λ°λΌμ μ€μ λ‘ λ¬΄νν μΌκ°ν μ§ν©μ μ μνλ 8κ°μ 3D κΌμ§μ μ
λλ€. 건μΆκ°λ μ΄ λꡬλ₯Ό μ’μνμ§λ§ 곡μμ΄ f(x) = y
μ κ·Όμ νμ©νμ§ μκΈ° λλ¬Έμ μ»΄ν¨ν°μμ 2D ννμ λ λλ§νλ κ²μ‘°μ°¨ λ¬Έμ κ° λ©λλ€.
μ¬κΈ°μμ 곡μ IFC μ¬μμ μ΄ν΄λ³΄μμμ€. http://www.buildingsmart-tech.org/ifc/IFC4/final/html/schema/ifcgeometryresource/lexical/ifcbsplinesurface.htm
@kdilayer μμ§λ githubμμ νλνμλμ? ꡬνμ 곡μ νμκ² μ΅λκΉ? :ok_hand: κ°μ¬ν©λλ€!
λ΄κ° κ²°μ ν μ κ·Ό λ°©μμ BimServerλ₯Ό μ¬μ©νμ¬ λ°μ΄λ리 IFC λ°μ΄ν°λ₯Ό μ€νΈλ¦¬λ°ν λ€μ ThreeJSμμ ꡬμ±νλ κ²μ΄μμ΅λλ€. μΉ μμΌμ ν΅ν λ€μ΄λ‘λ ν¬κΈ°λ λ§μ‘±μ€λ½κ³ Threeμμ λͺ¨λΈμ μμ ν μ μ΄ν μ μμ΅λλ€.
BimViewerκ° μμμ μΌλ‘ μλνλ λ°©μμ μ΄ν΄λ³Ό μ μμ΅λλ€.
μ΄λ€ λλ΅?
@Joao-b4 μ΄λμ?
κ°λ₯ν IFC λ‘λμ λν΄
μ, @kdilayerμ λͺ«μΈκ° λ΄ λλ€...
@kdilayer λ μΆνλ μ§ 3λ
μ΄ μμ κ²μ΄λΌκ³ λ―Ώμ΅λλ€.
λ‘λ μμ±μ΄ μλνλ λ°©μμ μ΄ν΄νμ§ λͺ»νκ³ λΌμ΄λΈλ¬λ¦¬μ μ½κ°μ μ§μμ΄ μμ΅λλ€. μ‘°κΈ μ μ μμ
νμ΅λλ€. λ‘λλ₯Ό μμ±ν μ μλ λ§ν¬κ° μμ κ²μ
λλ€. μΆ©λΆν μ±ν₯κ³Ό μ§μμ μ»μ μ μμ΅λλ€. λ―Έλ.
μ¬κΈ° μ THREE.IFCLoader
μ κΈ°λ³Έ μ€μΊν΄λλ₯Ό μ€λͺ
νμ΅λλ€ . λ‘λλ₯Ό μμ±ν λ κ°μ₯ μ΄λ €μ΄ λΆλΆμ ν΄λΉ 3D νμμ μ€μ λ‘ μ΄ν΄νλ κ²μ
λλ€. κ·ΈλμΌλ§ νμμ ꡬ문 λΆμνκ³ μ§μ€λ©νΈλ¦¬ λ°/λλ μ¬λ£ λ°μ΄ν°λ₯Ό three.js
μν°ν°(μ: THREE.BufferGeometry
)λ‘ λ³νν μ μμ΅λλ€. μ΄ νλ‘μΈμ€λ₯Ό μ΄ν΄νλ €λ©΄ THREE.PLYLoader
μ κ°μ λ€μ κ°λ¨ν λ‘λλ₯Ό 곡λΆνλ κ²μ΄ μ’μ΅λλ€. λ¬Όλ‘ IFC νμ€(https://www.iso.org/standard/51622.html)
κ°μ¬ν©λλ€, ifc λ‘λκ° μ λ§ μ μ©ν κ²μ΄κ³ μ§κΈ λΉμ₯ νμν©λλ€. μμμ μΈκΈν κ²μ μ¬μ©νμ¬ OBJλ‘ λ³ννκ³ μμ§λ§ μ΄κ²μ΄ μ΅μ μ λ°©λ²μ μλλΌκ³ μκ°ν©λλ€
μ΄κ²μ 1.5λ μ μ μΌμ΄λ―λ‘ λ΄ κΈ°μ΅μ΄ λ Ήμ¬μμ§λ§ μ°λ¦¬ μ루μ μ bim μλ²λ₯Ό μ¬μ©νμ¬ μλ²μμ μ§μ€λ©νΈλ¦¬λ₯Ό μ λ¬ν λ€μ νλ°νΈ μλμμ Threeλ₯Ό μ¬μ©νμ¬ λ λλ§μ μ²λ¦¬νλ κ²μ΄λΌκ³ μκ°ν©λλ€.
μ½κ°μ νΌλμ΄ μμμ§λ§ κ²°κ΅ μλνμ΅λλ€.
IfcConvert λ Node.jsμ© IfcConverterμ
λλ€. .ifcμμ .dae, .obj, .stp λ° .igsλ‘ λ³νλ©λλ€. μμ§ μλνμ§λ μμμ§λ§ μ€λͺ
λ λλ‘ μλνλ€λ©΄ Three.jsμ .ifc λ‘λκ° λ μ΄μ νμνμ§ μμ κ²μ
λλ€. λ§μ΅λκΉ?
.ifcμλ 3D λͺ¨λΈλ³΄λ€ ν¨μ¬ λ§μ μ λ³΄κ° ν¬ν¨λμ΄ μμ§λ§ Three.jsμ κ΄ν ν 3D λͺ¨λΈλ§ κ°μ ΈμμΌ ν©λλ€.
μμΆμ
μμ κ²½μ° μ€μ λ΄λ³΄λΈ 3D λͺ¨λΈκ³Ό ν¨κ» μμ μ BIM λΌμ΄λΈλ¬λ¦¬λ₯Ό .ifc νμΌλ‘ λ΄λ³΄λΌ μ μκΈ° λλ¬Έμ λ€λ₯Ό μ μμ΅λλ€.
λ§μ΄ λ©λκΉ?
λ³λμ λ³ν λꡬ μμ΄ IFC
λ₯Ό λΈλΌμ°μ μ μ§μ λ‘λνλ κ²μ μ¬μ ν ββν₯λ―Έλ‘μΈ μ μμ΅λλ€. κ·Έλ¬λ μΈκΈλ node.js λꡬλ IfcOpenShellμ λλ¬μΌ λνΌμΌ
IfcConverterλ₯Ό ν΅ν κ°μ Έμ€κΈ° μν¬νλ‘κ° μ’μ μ μλ€κ³ μκ°ν©λλ€!
λ°λλ‘, Ifc λ΄λ³΄λ΄κΈ°λ λμκ² μλ―Έκ° μμ΅λλ€. Three.jsλ‘ Ifc νΈμ§κΈ°λ₯Ό λΉλνμ§ μλ ν λλ€ Three.js λ·°μ΄μμ λͺ¨λ κ΄λ ¨ ifc λ°μ΄ν°(κ±΄μΆ κ΅¬μ± μμ, BIM μ΄ν΄ κ΄κ³μ...)λ₯Ό μμ΄λ²λ¦¬κΈ° λλ¬Έμ λλ€. .
@Mugen87 κΈμμ, μ κ° μλ λ°λ‘λ IfcOpenShellμ μ¨λΌμΈ CLI λκ΅¬μΈ Node ν¨ν€μ§μ λλ€.
@jean-noelp λ§μ΅λλ€. "λ§μ€ν° .ifc νμΌ"μ λ΄λ³΄λ΄λ κ²μ΄ μλλΌ "λΌμ΄λΈλ¬λ¦¬ .ifc νμΌ" BIM μ΄ν΄ κ΄κ³μκ° μμ μ "λ§μ€ν° .ifc νμΌ"μμ κ°μ Έμ¬ μ μμμ μλ―Ένμ΅λλ€. μλ₯Ό λ€μ΄ μ°¨κ³ λ¬Έ μ μ‘°μ μ²΄μΈ κ²½μ° Three.jsλ₯Ό μ¬μ©νμ¬ ν΄λΌμ΄μΈνΈ(μ: 건μΆκ°)λ₯Ό μν μ€μΉλ₯Ό κ³ννκ³ BIM κ°μ²΄(μΌλ°μ μΌλ‘ μ°¨κ³ λ¬Έ)κ° ν¬ν¨λ BIM λΌμ΄λΈλ¬λ¦¬λ₯Ό λ΄λ³΄λ λλ€. λ¬΄μ¨ λ§μΈμ§ μκ² μ΄? κ·Έλ¬λ μ΄μ¨λ κ°κ°μ νΉμ μ¬μ© μ¬λ‘κ° λ무 ꡬ체μ μ΄κΈ° λλ¬Έμ μ΄ λ΄λ³΄λ΄κΈ° λꡬλ₯Ό Three.jsμ ꡬμΆν λ°©λ²μ μμ΅λλ€.
λꡬλ₯Ό μ°Ύμμ΅λλ€. IFCλ₯Ό ν΄κ²°ν μ μμ΅λλ€.
κ·Έκ²μ 무λ£κ° μλλλ€ οΌ
κ·Έλ¬λ IFC ꡬ쑰λ₯Ό νμ±νλ κ²μ 무λ£μ΄λ©° μ€ν μμ€μ
λλ€.
http://www.apstex.com/
μλ νμΈμ @kdilayerλ μμμ΄ μμΌμμ£ ? κ·Έλ μμ€ μ½λλ₯Ό 곡κ°νμ§ μμλ€?
?
------------------ μλ³Έ λ©μμ§ ------------------
λ³΄λΈ μ¬λ: "Daniel Ramos"< [email protected]>;
λ°°μ‘ μκ°: 2020λ
5μ 28μΌ(λͺ©) μ€ν 10μ 08λΆ
λ°λ μ¬λ: "mrdoob/three.js"
μ°Έμ‘°: "λ¬Όκ³ κΈ° κ·Έλ¬Όμ λ¨κ²¨μ£ΌμΈμ "< [email protected]>;
μ λͺ©: Re: [mrdoob/three.js] threejsμ© IFC κ°μ Έμ€κΈ°(#9764)
μλ νμΈμ @kdilayerλ μμμ μλμ?? μμ€μ½λ 곡κ°
β
λΉμ μ΄ λκΈμ λ¬μκΈ° λλ¬Έμ μ΄κ²μ λ°λ κ²μ
λλ€.
μ΄ μ΄λ©μΌμ μ§μ λ΅μ₯νκ±°λ GitHubμμ 보거λ ꡬλ
μ μ·¨μνμΈμ.
μ΄κ²μ λν μμμ΄ μμ΅λκΉ?
μΌ! λ©°μΉ μ μ λ Three.jsμ IFC νμλ₯Ό μ μ©ν μκ°μΌλ‘ JSμμ IFC νμλ₯Ό ꡬννκΈ° μμνμ΅λλ€. μ¬κ° μκ°μ νλ κ°μΈ νλ‘μ νΈμ΄κΈ° λλ¬Έμ μκ°μ΄ μΌλ§λ κ±Έλ¦΄μ§ μ λͺ¨λ₯΄κ² μ΅λλ€. κ·Έλ¬λ μ€λ μ΄ μ€λ λλ₯Ό λ³΄κ³ κ΄μ¬μ κ°μ§ μ μλ€κ³ μκ°νμ΅λλ€. μ¬κΈ°μμ μ°Ύμ μ
@agviegasλ λΉμ μ΄ κ·Έκ²μΌλ‘ 무μμ ν μ§ κΈ°λνκ³ μμ΅λλ€! PRμ μ λ§ νμλ°μ μ μμ΅λλ€
λ¬Όλ‘ ! @agviegas ν보ν΄μ£Όμλ©΄ λ λ§μ λΆλ€μ΄ λμλ릴 μ μμ΅λλ€ π
λΆννλ λλ ifcimporterμμ λ΄ μμ μ 곡κ°ν μ μμμ§λ§ @agviegasλ₯Ό λμΈ μ μμ΅λλ€.
@mrdoob λλ¨νλ€μ . μ λ μ¬μ ν νμμ ν΅μ¬ κΈ°λ₯μ λν΄ μμ νκ³ μμ΅λλ€. μ΄λ―Έ λͺ¨λ κ³΅κ° κ΅¬μ‘° μμλ₯Ό λ‘λν μ μμΌλ©° 곧 μ§μ€λ©νΈλ¦¬ ꡬμΆμ μμν κ²μ λλ€. λλ μ½λλμ μ μ© ν νμκ° μλ€λ μκ° μ΄ ν보λ₯ΌνκΈ° μ μ. PRμ μν μ½λλ₯Ό μ€λΉνκΈ° μν΄ νμΈν μ°Έμ‘°κ° μμ΅λκΉ? μ°λ¦¬λ λΉμ μ΄ μν λλ§λ€ μ΄κ²μ ν μ μμ΅λλ€. μ΄μ κ΄ν λͺ¨λ λμμ νμν©λλ€.
λ°λ©΄μ IFC νμμ ꡬννκΈ°κ° λ§€μ° μ½μ§λ§ 곡μ λ¬Έμμ κ°νΉν¨ λλ¬Έμ λ€μ μνμ μΌ μ μμ΅λλ€. IFC νμμ λΉκ΅μ μ μκ³ μλ κ² κ°μμ κ΄μ¬ μλ λΆλ€μ΄ μ°Έμ¬ν΄ μ£Όμλ©΄ λ 빨리 μ€λΉν μ μμ κ² κ°μ΅λλ€. π
λλ μ½λλμ μ μ© ν νμκ° μλ€λ μκ° μ΄ ν보λ₯ΌνκΈ° μ μ.
μ, λ€λ₯Έ λ‘λκ° μ¬μ©νλ κ²κ³Ό λμΌν μΈν°νμ΄μ€λ₯Ό μ¬μ©ν΄μΌ ν©λλ€. μλ§λ MD2Loader κ° μ§κΈμ λ κ°λ¨ν μ°Έμ‘°μΌ κ²μ λλ€.
λͺ¨λ κ²μ΄ PRμ μλ²½νλ€κ³ κ±±μ νμ§ λ§μμμ€. κ°μ§κ³ μλ κ²μ μ΄μμΌλ‘ μ μΆνλ©΄ λλ¨Έμ§ μ½λμ λ§λμ§ νμΈνλ λ° λμμ λ릴 μ μμ΅λλ€.
νμμ λν λͺ λ²μ λΉνκ±°λ¦Όκ³Ό κ³ κ΅°λΆν¬ λμ μ΄λ―Έ λͺ κ°μ§ κ²°κ³Όκ° μμ΅λλ€. λλ νμμ 첫 λ²μ§Έ λ²μ κ³Ό μΌλΆ κΈ°ννμ μν°ν°(μμΆ λ° b-rep ν¬ν¨)λ₯Ό ꡬννμ΅λλ€. μμ§ ν΄μΌ ν μΌμ΄ λ§μ΄ λ¨μ μμ§λ§ μ§κΈκΉμ§μ κ²°κ³Όμ λ§μ‘±ν©λλ€. μλ μ΄λ―Έμ§λ Chromeμμ μννκ² μ€νλλ Revitμ μν΄ μμ±λ μμ IFCλ₯Ό 보μ¬μ€λλ€. κ° κΈ°ννμ μΈμ€ν΄μ€μλ ꡬ문 λΆμλ IFC μ λ³΄κ° μ°κ²°λμ΄ μμΌλ―λ‘(μ¬μ€ μλ μ₯λ©΄μμ κ° μΈμ€ν΄μ€λ ν΄λΉ μΉ΄ν κ³ λ¦¬/ifcclassμ λ°λΌ μ¬μ§μ΄ μμ) μμ± κ°(Psets λ° Qsets)μ μ¬μ©νμ¬ νν°λ₯Ό λ§λλ κ²μ μ΄ μμ μμ 보κ΄νκΈ° μ΄λ ΅μ§ μμμΌ ν©λλ€. . μ΄λ€ μμ΄λμ΄λ μ μλ νμν©λλ€. π
@agviegas νλ₯ν©λλ€!
@agviegas μμ£Ό μνμ΄μ!
μ¬μ° κ΄λ¦¬μ λν μμ΄λμ΄μ κ΄ν΄μ. μ§κΈ μ΄κ²λ€μ μ΄λ»κ² 보κ΄νκ³ κ³μ κ°μ? λ©μ¬λ μ§μ€λ©νΈλ¦¬μ userData
μ²λΌμ?
λλΆλΆμ κ³ κ°μ λͺ¨λΈλ§μ μν΄ HiCad λλ ArchiCADμ κ°μ μννΈμ¨μ΄λ₯Ό μ¬μ©νλ©° κ±΄μ€ μμ μμκ² λ§€μ° μ€μν μλ§μ μ 보(μ΄ λ°λ, λ°λ μ ν, μΈ‘μ , λ¬΄κ² λ±)λ₯Ό μ μ₯ν©λλ€.
νμ±/λ‘λ© μλλ λ§€μ° κΆκΈν©λλ€. ꡬνμ ν μ€νΈν λͺ¨λΈμ ꡬ문 λΆμνλ λ° μ½ 5μ΄κ° 걸리μ§λ§ μ§μ€λ©νΈλ¦¬λ₯Ό μμ±νλ λ°λ νλ‘μΈμ€κ° DAE λͺ¨λΈλ‘ λ³ννλ λ° κ±°μ 2λΆμ΄ 걸립λλ€. (μ λ μκ°κ³Ό κ²½νμ΄ λΆμ‘±νμ¬ μλ² μΈ‘μμ λ³ννκ³ μμ΅λλ€. :sweat_smile:, μ΄κ²μ΄ μ΄ λ‘λκ° 'κΈ°λ³Έμ μΌλ‘' μλνκ² λμ΄ λ§€μ° κΈ°μ©λλ€)
@haroldiedema μμ§ μμ± μ§ν©μ ꡬννμ§ μμμ§λ§ νμ¬ λ°μ΄ν° ꡬ쑰λ JS κ°μ²΄λ‘ ꡬμ±λμ΄ μμΌλ©° μ¬κΈ°μ ν€λ μ΅μ€νλ μ€ IDμ΄κ³ κ°μ λ©λͺ¨λ¦¬μ λ‘λλ ꡬ문 λΆμλ κ°μ²΄μ
λλ€. μ΅μ€νλ μ€ IDμλ κ° μμ±μ ν΄λΉ IDλ₯Ό κ°μ§ κ°μ²΄μ λν μ°Έμ‘°λ‘ λ체λ©λλ€. νμ¬ κ΅¬νμμ νλ μ΄μμ κΈ°ννμ ννμ΄ μλ _IfcProduct_μ κ° μΈμ€ν΄μ€μλ μ₯λ©΄μ κΈ°ννμ ꡬ쑰μ λν μ°Έμ‘° λ°°μ΄μΈ _Geometry_λΌλ μΆκ° μμ±μ΄ μμ΅λλ€. μλ₯Ό λ€μ΄, κ° _IfcWallStandardCase_μλ _Path_(a Line
)μμ _Body_(a Mesh
)μ λν μ°Έμ‘°κ° μλ _Geometry_ μμ±μ΄ μμ΅λλ€.
μλ§λ Three.jsμ κ° κΈ°ννμ μΈμ€ν΄μ€μλ μ΅μ€νλ μ€ IDκ° ν¬ν¨λ μμ±μ΄ μμΌλ―λ‘ λ©λͺ¨λ¦¬μ λ‘λλ ifc μν°ν°(λ° κ΄λ ¨ μ 보)λ₯Ό μ°Ύλ κ²μ΄ μ¬μΈ κ²μ λλ€(μ¬μμ λ©μλ₯Ό ν΄λ¦ν λ fe).
μ¬μ©μ μ μ μμ±μ κ²½μ° λͺ¨λ κ²μ ν¨κ» λ¬Άλ νλ μ΄μμ _IfcRelDefinesByProperties_(λλ λ€λ₯Έ κ°μ κ΄κ³ κ°μ²΄)κ° μμ΅λλ€. μλ§λ IfcProductμ κ° μΈμ€ν΄μ€λ κ΄λ ¨ ꡬ문 λΆμλ μμ± μ§ν©μ λ°°μ΄μ ν¬ν¨νλ _hasPropertySets_ μμ±μ κ°μ§ μ μμ΅λλ€(λ€λ₯Έ IFC λΌμ΄λΈλ¬λ¦¬μμ μ΄ ν¨ν΄μ 보μκ³ μ΄κ²μ΄ _IfcRelAggregates_μ κ°μ λ€λ₯Έ κ°μ κ΄κ³μμ μννλ μμ μ λλ€). λλ κ·Έλ€μ΄ IFCμ λ°λΌ ꡬ쑰νλ κ²μ΄κΈ° λλ¬Έμ μ¬μ°μ μμ λν΄ κ±±μ νμ§ μμ§λ§ λ΄κ° κ±°κΈ°μ λμ°©νμ λ μ΄λ»κ² λλμ§ λ΄ μλ€. π
λλ λͺ¨λ κ²μ ν΄λΌμ΄μΈνΈ μΈ‘μΌλ‘ λ§λ€κ³ μμΌλ©° νμ¬ κ΅¬λ¬Έ λΆμμ 1μ΄ λ―Έλ§μ΄ κ±Έλ¦¬κ³ λ§μ§λ§ μ₯λ©΄μ κΈ°ννμ μμ±μ μ½ 4μ΄κ° μμλ©λλ€. λ ν° νμΌμ μ¬μ©νλ©΄ μ΄ μκ°μ΄ λμ΄λ κ²μμ μκ³ μμ΅λλ€. κ·Έλ¬λ λ λ§μ IFC μν°ν°λ₯Ό λ€λ£¨μκ³ μ€μ νλ‘μ νΈμμ IFCλ₯Ό λ‘λν μ μκ² λλ©΄ μμ€ν μ μ΅μ νν μ μκΈ°λ₯Ό λ°λλλ€. π λλ λκ΅°κ°κ° μ΄κ²μ λν΄ νκ³ μΆμ΄νλ κ²½μ°λ₯Ό λλΉνμ¬ _CONTRIBUTING_ λ¬Έμλ₯Ό νμ₯ν κ²μ λλ€.
@agviegas κ΅μ₯ν΄!
μΌλΆ κ³ κ° λͺ¨λΈμ ν μ€νΈνκΈ° μν΄ λ¦¬ν¬μ§ν 리μ κΈ°λ³Έ λΆκΈ°λ₯Ό 볡μ νλ €κ³ μλνμ§λ§ λΆννλ λͺ¨λ λͺ¨λΈμ΄ μ½μμμ _ExpressId is undefinedμ λν μ€λ₯λ₯Ό μμ±ν©λλ€(λͺ¨λ λͺ¨λΈμ΄ μ°Έμ‘° λ μ½λμ κ΄λ ¨νμ¬ 100% μΌκ΄μ±μ΄ μλ κ²μ μλλλ€. μ€μ λ‘ μ‘΄μ¬ν¨). μΌλΆ CAD μννΈμ¨μ΄λ μ κ±°λ μμ±μ λν μ°Έμ‘°λ₯Ό κΉλνκ² μ 리νμ§ λͺ»νλ€κ³ μκ°ν©λλ€.
μ΄ λͺ¨λΈ μ€ μΌλΆλ₯Ό μ¬λ¬λΆκ³Ό 곡μ ν μ μμ§λ§ λΉκ³΅κ°λ‘ ν΄μΌ ν©λλ€. ArchiCAD λλ HiCADλ‘ λ΄λ³΄λΈ λͺ¨λΈμ λ λ§μ ν μ€νΈ μ¬λ‘μ κ΄μ¬μ΄ μμΌμλ©΄ [email protected]λ‘ μ μκ² μ°λ½ν μ μμ΅λλ€.
@haroldiedema μμ§ μμ± μ§ν©μ ꡬννμ§ μμμ§λ§ νμ¬ λ°μ΄ν° ꡬ쑰λ JS κ°μ²΄λ‘ ꡬμ±λμ΄ μμΌλ©° μ¬κΈ°μ ν€λ μ΅μ€νλ μ€ IDμ΄κ³ κ°μ λ©λͺ¨λ¦¬μ λ‘λλ ꡬ문 λΆμλ κ°μ²΄μ λλ€. μ΅μ€νλ μ€ IDμλ κ° μμ±μ ν΄λΉ IDλ₯Ό κ°μ§ κ°μ²΄μ λν μ°Έμ‘°λ‘ λ체λ©λλ€. νμ¬ κ΅¬νμμ νλ μ΄μμ κΈ°ννμ ννμ΄ μλ _IfcProduct_μ κ° μΈμ€ν΄μ€μλ μ₯λ©΄μ κΈ°ννμ ꡬ쑰μ λν μ°Έμ‘° λ°°μ΄μΈ _Geometry_λΌλ μΆκ° μμ±μ΄ μμ΅λλ€. μλ₯Ό λ€μ΄, κ° _IfcWallStandardCase_μλ _Path_(a
Line
)μμ _Body_(aMesh
)μ λν μ°Έμ‘°κ° μλ _Geometry_ μμ±μ΄ μμ΅λλ€.μλ§λ Three.jsμ κ° κΈ°ννμ μΈμ€ν΄μ€μλ μ΅μ€νλ μ€ IDκ° ν¬ν¨λ μμ±μ΄ μμΌλ―λ‘ λ©λͺ¨λ¦¬μ λ‘λλ ifc μν°ν°(λ° κ΄λ ¨ μ 보)λ₯Ό μ°Ύλ κ²μ΄ μ¬μΈ κ²μ λλ€(μ¬μμ λ©μλ₯Ό ν΄λ¦ν λ fe).
μ¬μ©μ μ μ μμ±μ κ²½μ° λͺ¨λ κ²μ ν¨κ» λ¬Άλ νλ μ΄μμ _IfcRelDefinesByProperties_(λλ λ€λ₯Έ κ°μ κ΄κ³ κ°μ²΄)κ° μμ΅λλ€. μλ§λ IfcProductμ κ° μΈμ€ν΄μ€λ κ΄λ ¨ ꡬ문 λΆμλ μμ± μ§ν©μ λ°°μ΄μ ν¬ν¨νλ _hasPropertySets_ μμ±μ κ°μ§ μ μμ΅λλ€(λ€λ₯Έ IFC λΌμ΄λΈλ¬λ¦¬μμ μ΄ ν¨ν΄μ 보μκ³ μ΄κ²μ΄ _IfcRelAggregates_μ κ°μ λ€λ₯Έ κ°μ κ΄κ³μμ μννλ μμ μ λλ€). λλ κ·Έλ€μ΄ IFCμ λ°λΌ ꡬ쑰νλ κ²μ΄κΈ° λλ¬Έμ μ¬μ°μ μμ λν΄ κ±±μ νμ§ μμ§λ§ λ΄κ° κ±°κΈ°μ λμ°©νμ λ μ΄λ»κ² λλμ§ λ΄ μλ€. π
λλ λͺ¨λ κ²μ ν΄λΌμ΄μΈνΈ μΈ‘μΌλ‘ λ§λ€κ³ μμΌλ©° νμ¬ κ΅¬λ¬Έ λΆμμ 1μ΄ λ―Έλ§μ΄ κ±Έλ¦¬κ³ λ§μ§λ§ μ₯λ©΄μ κΈ°ννμ μμ±μ μ½ 4μ΄κ° μμλ©λλ€. λ ν° νμΌμ μ¬μ©νλ©΄ μ΄ μκ°μ΄ λμ΄λ κ²μμ μκ³ μμ΅λλ€. κ·Έλ¬λ λ λ§μ IFC μν°ν°λ₯Ό λ€λ£¨μκ³ μ€μ νλ‘μ νΈμμ IFCλ₯Ό λ‘λν μ μκ² λλ©΄ μμ€ν μ μ΅μ νν μ μκΈ°λ₯Ό λ°λλλ€. π λλ λκ΅°κ°κ° μ΄κ²μ λν΄ νκ³ μΆμ΄νλ κ²½μ°λ₯Ό λλΉνμ¬ _CONTRIBUTING_ λ¬Έμλ₯Ό νμ₯ν κ²μ λλ€.
User Defined IFC Property Sets
ꡬ문 λΆμμ λ§€μ° μ½μ΅λλ€. λλ κ·Έκ²μνλ repo κ° μμ΅λλ€. λ΄ νμλ λΉμ λ§νΌ μ κ΅νμ§ μμ΅λλ€.
κ·Έλ¬λ μΌλΆ μμ±μ νμλ₯Ό μ€λ¨νλ κ²½ν₯μ΄ μμμ μμμ΅λλ€. λλ chevrotainμ μ¬μ©νμ§ μμμΌλ―λ‘ κ·νμ μ½λκ° μ΄λ»κ² μ μ§λλμ§ μ λͺ¨λ₯΄κ² μ΅λλ€. λλ μ¬κΈ° μ μ΄λ¬ν λ¬Έμ μ λν΄ λ λ§μ΄ μΌμ΅λλ€ . κ·Έκ²μ΄ λΉμ μκ² μ½κ°μ λμμ΄ λ μ μκΈ°λ₯Ό λ°λλλ€.
μ΄μ¨λ μ§κΈκΉμ§ μμ£Ό μνμ΅λλ€! π
μ λ°μ΄νΈ: κ°λ° μ λ°μ κ±Έμ³ λ³΄λ€ μ¬μ΄ μ¬μ©μ ν μ€νΈλ₯Ό μν΄ Github νμ΄μ§ μ μ±μ λ°°ν¬νμ΅λλ€. μ¬κΈ°μλ λͺ¨λ°μΌ λ° νλΈλ¦Ώ μ§μμ μν λ°μν νμμ΄ ν¬ν¨λ©λλ€. λν μ¬κΈ° μμ μμ μ IFC λͺ¨λΈμ λ‘λνλ λ체 λ°°ν¬λ₯Ό μ°Ύμ μ μμ΅λλ€. μ₯λ©΄μ μ§μ°κ³ μ¬λ¬ IFCλ₯Ό μΆκ°νλ λ Όλ¦¬λ μμ§ κ΅¬νλμ§ μμμ§λ§ μ΅μν νμμ΄ μ΄λ»κ² 보μ΄λμ§ μ μ μμ΅λλ€. ꡬ문 λΆμμ ν΄λΌμ΄μΈνΈμμ μννλ―λ‘ λ‘λ μκ°μ μ¬μ©λ μ₯μΉμ λ°λΌ λ€λ¦ λλ€. λ΄ λ ΈνΈλΆμ μ½ 5μ΄ λ§μ μλ£λλ λ°λ©΄ Moto G5 Plusλ μ΄ μ₯λ©΄μμ μ½ 50μ΄κ° 걸립λλ€. μ 체 νλ‘μ νΈλ₯Ό λ‘λνκΈ° μ μ μμ§ κ΅¬νν΄μΌ ν ν΄λμ€κ° μμ§λ§ ν μ€νΈ νμΌμ μΆκ°ν IFCλ₯Ό μΈμ λ μ§ μ μκ² λ³΄λ΄μ£Όμμμ€.
κ°μ₯ μ μ©ν λκΈ
PRμ ν¬νν©λλ€π .
THREE.IFCLoader
λ ν° κΈ°μ¬κ° λ κ²μ λλ€!