วิธีเพิ่ม“ สกิน” ให้เป็นรูปร่างของโวโรโนอิ?


9

สมมติว่าฉันได้รับรูปร่างที่มีรูปแบบ Voronoi เช่นโคมไฟนี้ ฉันต้องการที่จะเพิ่ม "ผิวหนัง" ซึ่งครอบคลุมรูปร่างที่สมบูรณ์บนพื้นผิวด้านในเพื่อให้ฉันสามารถพิมพ์ด้วยวัสดุโปร่งแสงเพื่อสร้างแสงที่สม่ำเสมอมากขึ้นหรือน้อยลง นี่คือตัวอย่างของสิ่งที่ฉันต้องการที่จะจบลงด้วยการ: โคมไฟชา ความคิดใด ๆ เกี่ยวกับวิธีการย้อนกลับสร้างวัตถุ Voronoi?


1
ฉันค่อนข้างจะถามในฟอรั่มปั่นหรือ 3dGraphics บริสุทธิ์เนื่องจากเป็นคำถามที่ยากมาก - มีการตอบสนองของ Google ไม่กี่เมื่อคุณค้นหา 'reverse voronoi' แต่ฉันไม่ได้ลึกมากแบบจำลอง 3d เพื่อแนะนำ anythig
profesor79

ฉันคิดว่าเครื่องปั่นอาจเป็นแอพพลิเคชั่นที่ดีที่สุดเพื่อให้บรรลุวัตถุประสงค์ของคุณ ด้วยความรู้ที่ จำกัด ของฉันเกี่ยวกับซอฟต์แวร์ฉันสามารถมองเห็นภาพของแต่ละหลุมได้ด้วยตนเองเท่านั้น แต่จะต้องมีวิธีที่ง่ายกว่าในการทำงานของคุณให้สำเร็จกว่านั้น
fred_dot_u

@ carl-witthoft กับโปรแกรมใด ๆ ที่สามารถแก้ไขไฟล์ STL ของคุณและเพิ่มตาข่ายไปยังพื้นผิวด้านใน ไม่กี่ปีที่ผ่านมา (18) ฉันใช้ 3Dmax เพื่อสร้างแบบจำลองและเพิ่มตาข่ายเพื่อสร้างสกินหรือพื้นผิวคุณสามารถค้นหาบทช่วยสอนเพื่อใช้งานได้อย่างง่ายดาย
เฟอร์นันโด Baltazar

@FernandoBaltazar ขอบคุณสำหรับตัวชี้ หากคุณสามารถโพสต์ตัวอย่างง่ายๆหรือ "ขั้นตอนในการติดตาม" เป็นคำตอบฉันจะยอมรับ
Carl Witthoft

คำตอบ:


4

ฉันโพสต์สิ่งนี้ในฟอรัม Autodeskและเพื่อนที่ชื่อ "MagWeb" เสนอวิธีแก้ไขปัญหาต่อไปนี้ ฉันยังไม่ได้ลอง

เวิร์กโฟลว์ที่เป็นไปได้นั้นขึ้นอยู่กับรูปร่างโดยรวมของวัตถุ voronoi: ถ้ามันนูนทั่ว (เช่นไข่) หรือนูนและภาพถ่าย (เช่นทรงกระบอก) เช่น:

  • SelectAll (Ctrl + A หรือ Cmd + A บน MAC)

  • เรียกใช้ Edit / FitPrimitive และตั้งค่า PrimitiveType เป็น ConvexHull (ตรวจสอบ CreateNewObjects)

  • เรียกใช้ MakeSolid บนวัตถุตัวถังนี้และตั้งค่า SolidType ให้แม่นยำ แม่นยำเปิดใช้งานตัวเลื่อน ดึงมันลงมาเล็กน้อยแล้วกดปุ่ม Update คุณต้องการได้ผลลัพธ์ที่ตัดกัน แต่แสดงวัตถุ voronoi หากจำเป็นต้องปรับการชดเชย ในที่สุดก็ยอมรับ

  • ตอนนี้เปิดใช้งานทั้ง voronoi และผลลัพธ์ MakeSolid แล้วรัน BooleanUnion

  • แสดงออบเจ็กต์ FitPrimitive อีกครั้ง (MakeSolid ไม่ได้ซ่อนมาก่อน) และเรียกใช้ MakeSolid อีกครั้งในโหมด Accurate ตอนนี้ให้ตั้งค่าออฟเซ็ตที่ใหญ่กว่าเดิมเล็กน้อยเช่นคุณ ความแตกต่างจะเป็นตัวกำหนดความหนาของ "เยื่อบุ" ยอมรับ

  • เปิดใช้งานผลลัพธ์ BoolleanUnion ก่อนและผลลัพธ์ MakeSolid ล่าสุดและเรียกใช้ BooleanDifference เพื่อรับวัตถุกลวง คุณอาจใช้วัตถุตัดกันอื่นเพื่อปิดกั้นการเปิดด้านล่าง

ยากขึ้น แต่ทำได้ด้วยเวิร์กโฟลว์ที่แตกต่างกันในวัตถุ voronoi ซึ่งเป็นภูมิภาคเว้า ...

แก้ไข

หลังจากทำการทดลองบางครั้งฉันสามารถยืนยันการทำงานนี้สำหรับวัตถุนูนง่าย หากมีความเว้าส่วนใหญ่รูปร่างของต้นกำเนิดจะต้องมีการสับเป็นส่วน ๆ ซึ่งแต่ละชิ้นนั้นจะสามารถรักษาได้เช่นเดียวกับนูน
ฉันเล่นกับฟังก์ชั่น "ใช้รูปแบบ" ของ Meshmixer ด้วยความสำเร็จที่ จำกัด ฉันสามารถรับรูปแบบการปรับรูปร่างได้ แต่มีพื้นผิวที่ไม่สม่ำเสมอ การปรับพารามิเตอร์ลวดลายบางอย่างอาจช่วยได้ โปรดทราบว่ารูปร่างใหม่นั้นมีความหนาเท่ากับวัตถุโวโรนอยดั้งเดิมดังนั้นจึงควรทำสิ่งต่าง ๆ ดังต่อไปนี้:
1) สร้างสำเนาของต้นฉบับ
2) ย่อส่วนที่ซ้ำกันสองสามเปอร์เซ็นต์
3) จัดตำแหน่ง วัตถุสองชิ้นที่มีจุดกำเนิดร่วมกันและนำเอาบูลีนที่แตกต่างเพื่อสร้างเวอร์ชั่นดั้งเดิมของกำแพงบาง ๆ
4) สร้างวัตถุรูปแบบตามวัตถุ thinwall นั้น

แก้ไขหมายเลข 2

ฉันทำสำเร็จ! สำหรับผู้ที่ห่วงใยฉันหยิบกล่องใส่แว่นตา Voronoi ที่เปิดออกแล้วใส่ผิวหนังไว้ข้างในเพื่อปกป้องแว่นตาของคุณ ดูรายการสิ่งที่มีค่านี้


สิ่งที่คุณเชื่อมโยงแสดงว่างเปล่าไม่มีตัวอย่าง :(
0scar

@ 0scar ใช่ฉันไม่รู้ว่า Thingiverse ทำอะไรผิด ฉันพยายามแก้ไข แต่ภาพ STL ไม่แสดง ฉันจะเพิ่มภาพถ่ายจริงหนึ่งวันนี้
Carl Witthoft

1
@ ทริชน่าประหลาดใจมากที่ฉันพบหน้าฟอรัม - เชื่อมโยงกับคำตอบแล้ว
Carl Witthoft
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.