Mô hình Triangulated Hex Torus (Hình xuyến lục giác tam giác hóa)
Chia sẻ mô hình Triangulated Hex Torus với 864 mặt, được thiết kế qua script FreeCAD. Đây là cấu trúc hình học thú vị với đường xoắn ốc, hỗ trợ tốt cho việc nghiên cứu mạng lưới thần kinh xung.
Mô tả
Mình đã nhờ Claude viết một đoạn script cho FreeCAD dựa trên các thông số kỹ thuật của mình. Hình dạng này là nền tảng cho một cấu trúc manifold mà mình đang dùng để phát triển các mạng lưới thần kinh xung (spiking-neural-networks). Mình sẽ để đoạn script bên dưới nhé.
Trước đây mình đã đăng mẫu này rồi. Mình không có ý định spam hay gì đâu, chỉ là bài đăng trước đó trông lộn xộn quá mà mình lại không biết cách chỉnh sửa.
Hình dạng này có lý do của nó, nhưng đồng thời nó cũng là một hình xuyến rất thú vị, có cả đường xoắn ốc bên trong. Mọi người có thể thử in nghiêng với raft và chế độ interface ironing xem sao. Mình cũng không chắc lắm, vì phần đỉnh và đáy của mình in ra trông hơi tệ.
Cập nhật: Mình đã thử in theo cách này, kết quả tốt hơn nhiều.
import FreeCAD as App
import Part
import FreeCADGui as Gui
import math
doc = App.newDocument("TriangulatedHexTorus")
# === THÔNG SỐ (điều chỉnh cho cạnh khoảng ~50 mm) ===
major_div = 36 # chia theo vòng tròn lớn (tốt nhất là bội số của 6)
minor_div = 12 # chia theo ống (số chẵn giúp xếp so le dễ hơn)
R = 120.0 # bán kính lớn (từ tâm đến đường tâm của ống)
r = 55.0 # bán kính nhỏ (bán kính ống)
# ================================================
# Tạo lưới điểm so le
grid = [[None] * minor_div for _ in range(major_div)]
for i in range(major_div):
u = i * 2 * math.pi / major_div
stagger = (math.pi / minor_div) if (i % 2 == 1) else 0.0
for j in range(minor_div):
v = j * 2 * math.pi / minor_div + stagger
x = (R + r * math.cos(v)) * math.cos(u)
y = (R + r * math.cos(v)) * math.sin(u)
z = r * math.sin(v)
grid[i][j] = App.Vector(x, y, z)
# Tạo các mặt tam giác
faces = []
for i in range(major_div):
for j in range(minor_div):
i_next = (i + 1) % major_div
j_next = (j + 1) % minor_div
p1 = grid[i][j]
p2 = grid[i][j_next]
p3 = grid[i_next][j]
p4 = grid[i_next][j_next]
wire1 = Part.makePolygon([p1, p2, p3, p1])
face1 = Part.Face(wire1)
if face1:
faces.append(face1)
wire2 = Part.makePolygon([p2, p4, p3, p2])
face2 = Part.Face(wire2)
if face2:
faces.append(face2)
# Lắp ráp thành vỏ
if faces:
shell = Part.makeShell(faces)
Part.show(shell, "Torus_TriMesh_Shell")
try:
solid = Part.makeSolid(shell)
Part.show(solid, "Torus_TriMesh_Solid")
except:
print("Không tạo được khối đặc - tạm dùng dạng vỏ")
App.ActiveDocument.recompute()
Gui.SendMsgToActiveView("ViewFit")
Gui.ActiveDocument.ActiveView.viewIsometric()
Giấy phép
File mô hình
Chưa có bản in nào được khoe. Hãy là người đầu tiên!
Chưa có bình luận nào. Hãy là người đầu tiên!