ซอฟต์แวร์สร้างสคริปต์แบบตาข่าย


17

ฉันกำลังมองหาซอฟแวร์การสร้างตาข่ายที่

  • ฟรีและโอเพนซอร์ส
  • ให้อินเตอร์เฟซการเขียนสคริปต์มีสติสำหรับข้อมูลจำเพาะโดเมน
  • ใช้งานได้กับรูปทรงเรขาคณิตที่ซับซ้อน
  • สามารถสร้าง 2D และ 3D meshes

ฉันมีตัวเลือกอะไรบ้าง

คำตอบ:


10

ฉันจะแนะนำให้คุณดูgmsh มันมีทั้งข้อความและการป้อนข้อมูลเหมือน CAD ความสามารถในการ 2D และ 3D ตาข่ายสั่งซื้อที่สูงขึ้น มันได้รับใบอนุญาตภายใต้ GPL ดังนั้นจึงมีข้อ จำกัด บางประการในการรวมเข้ากับซอฟต์แวร์โอเพนซอร์ซ


น่าเสียดายที่ภาษาสคริปต์ไม่สมบูรณ์ ;)
Nico Schlömer

อย่างไหนล่ะ, แบบไหนล่ะ? คุณอ้างถึงอินพุตไฟล์ข้อความหรืออินเตอร์เฟสอื่น ๆ ?
Godric Seer

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

5
คุณสามารถเขียนสคริปต์ของคุณในภาษาใดก็ได้ที่คุณต้องการและเพียงแค่สร้างไฟล์อันเป็นผลมาจากสคริปต์ของคุณที่ถูกป้อนเข้าสู่ gmsh
Wolfgang Bangerth

1
@WolfgangBangerth จริงผมเริ่มโครงการของเล่นเล็ก ๆ น้อย ๆ ในหลามบนgithub.com/nschloe/python4gmsh
Nico Schlömer

4

ฉันมักจะใช้tetgenสำหรับ 3D (ใบอนุญาต MIT สำหรับการวิจัย / ที่ไม่ใช่เชิงพาณิชย์) และสามเหลี่ยมสำหรับ 2D (ใบอนุญาตที่กำหนดเองฟรีสำหรับที่ไม่ใช่เชิงพาณิชย์) ในการเขียนสคริปต์คุณเขียนไฟล์อินพุตและเรียกใช้บรรทัดคำสั่ง


2
"โปรดทราบว่า TetGen ให้บริการฟรีสำหรับการวิจัยและการใช้งานที่ไม่ใช่เชิงพาณิชย์สำหรับการใช้งานเชิงพาณิชย์ใด ๆ - นี่ไม่ใช่ใบอนุญาตซอฟต์แวร์โอเพนซอร์ซฟรีหรือโอเพนซอร์ส (ภายใต้ข้อกำหนดของ OSI หรือ FSF) ให้ใช้สิทธิ์การใช้งานของ MIT เพียงอย่างเดียว
Jed Brown

ใช่ฉันเพิ่งอ่านไฟล์ลิขสิทธิ์ครั้งแรก คนส่วนใหญ่ไม่เข้มงวดในความหมายของฟรีเช่น OSI หรือ FSF
aterrel

ฉันกำลังจะถามคำถามที่คล้ายกัน tetgen เข้ากันได้กับ FEniCS หรือไม่
seb

@aterrel อ่านไฟล์ LICENSE: "นี่หมายความว่า TetGen ไม่ใช่ซอฟต์แวร์ฟรี แต่เพื่อความเป็นส่วนตัวการวิจัยและการศึกษาสามารถใช้งานได้โดยไม่มีค่าใช้จ่ายและไม่มีการจัดการเพิ่มเติม"
Jed Brown

1
ใช่ @JedBrown ฉันเห็นด้วยกับคุณและแก้ไขการตอบกลับ แต่สำหรับคนธรรมดาฟรีมักหมายถึง "ฉันไม่ต้องจ่ายเงิน" ไม่ใช่ RMS ที่ถูกกฎหมาย ฉันจะโต้แย้งว่า GPL ไม่ใช่ "ฟรี" แต่นั่นอาจไม่ใช่การสนทนาที่เหมาะสมสำหรับฟอรัมนี้
aterrel

3

MeshPyสามารถใช้ในการรับตาข่ายรูปสามเหลี่ยมและ tetrahedral มันให้วิธีการที่ง่ายของการสร้างตาข่ายสคริปต์

MeshPy จัดเตรียมอินเตอร์เฟส Python ให้กับTriangleและTetGen ที่กล่าวถึงโดย aterrel


1

ฉันพบว่าซาโลเมมีความยืดหยุ่นสูงและมีสภาพแวดล้อมที่ดีกว่า gmsh มาก มันให้ความรู้สึกเป็นมืออาชีพมากยิ่งขึ้น IMHO นอกจากนี้มันสามารถสร้างตาข่าย hexahedral ได้อีกด้วย มันคุ้มค่าที่จะลอง!


ฉันไม่ชอบความจริงที่ว่าไม่มีสิ่งใดในโมเดลเรขาคณิตที่สามารถแก้ไขได้จาก UI หรือ Python console โดยทั่วไปหากคุณต้องการเปลี่ยนแปลงคุณต้องลบและสร้างใหม่ นั่นเพิ่มค่าใช้จ่ายจำนวนมากระหว่างการออกแบบ
lurscher

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

1

OpenSCADเหมาะกับทุกจุดยกเว้นการแบ่งเสียง มันขึ้นอยู่กับสคริปต์อินพุตและสร้างพื้นผิว STL


1

ในระหว่างนี้ฉันสร้าง

  • pygmshเป็นส่วนหน้าของ Python สำหรับ gmsh และ
  • pygalmeshเป็นส่วนหน้าของ Python สำหรับความสามารถในการเชื่อมโยง 3 มิติของ CGAL

ทั้งสองได้รับค่อนข้างดีดังนั้นฉันเดาว่าพวกเขาจะเป็นประโยชน์กับผู้อื่นเช่นกัน


1

ทำไมไม่ปั่น ? มันเป็นซอฟต์แวร์โอเพนซอร์ซที่ทรงพลังฟรีและโอเพนซอร์สที่รองรับสคริปต์ python ด้วย

ในเครื่องปั่น 2.79คุณจะต้องเลือกเป็นScriptingScreen layout

ในด้านซ้ายText Editorกด + เพื่อสร้างบล็อกข้อมูลข้อความใหม่ เริ่มด้วยimport bpyแล้วใส่คำสั่ง python ที่สัมพันธ์กับการดำเนินการแต่ละอย่างที่คุณสามารถทำได้จาก GUI อ่านคำสั่งสัมพัทธ์ที่วางเมาส์เหนือรายการ GUI

ในภาพหน้าจอที่แนบมาจะแสดงคำสั่งเพื่อหารูปสามเหลี่ยมวงกลมเริ่มต้นจากฉากเริ่มต้นด้วยคิวบ์:

ป้อนคำอธิบายรูปภาพที่นี่

ด้วยวิธีนี้คุณสามารถใช้ Blender ในโหมดการสร้างสคริปต์โดยไม่ต้องใช้ GUI เพื่อส่งออกตัวอย่างเช่นไฟล์เอาต์พุตที่รันสคริปต์ python ของคุณในเทอร์มินัล:

blender --background --python myscript.py

นี่คือวิดีโอสอนบน YouTube

ไชโย


เครื่องปั่นสามารถทำได้ ไม่เคยรู้ ตัวอย่างเช่นฉันจะหาสามเหลี่ยมได้อย่างไร
Nico Schlömer

@ChristianClason: นี่ไม่ใช่คำตอบอย่างไร? มันตอบคำถาม คุณสามารถบ่นได้ว่ามันไม่มีรายละเอียดหรือแม้กระทั่งว่ามันผิด แต่นั่นคือสิ่งที่ downvotes มีไว้สำหรับ แน่นอนว่ามันไม่ใช่ความคิดเห็น
Wrzlprmft

@Wrzlprmft ขอบคุณมาก ฉันคิดว่ามันอาจจะดีถ้าฉันจะให้ Nico Schlömerอย่างละเอียดกับวิดีโอสอนการเขียนโค้ดที่จำเป็นที่นี่ แต่ในขณะเดียวกันฉันสามารถเชื่อมโยงหัวข้อที่เขียนด้วยตัวเองครั้งที่แล้วในภาษาอิตาลีขอความช่วยเหลือในการส่งออกตาข่ายโดยใช้สคริปต์ของ Blender (เว็บไซต์นั้นได้รับการปรับปรุงซึ่งทรัพยากรบางอย่างไม่พร้อมใช้งาน): เครื่องปั่น it / forum / topic / difetto-texture-file-obj-da-wrl นี่คือตัวอย่างของ videotutorial บน YouTube: youtube.com/watch?v=K0yb4sZ7B4g
Riccardo Volpe

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