Về KulmanLab
Dự án của một người, được xây dựng không vội vàng.
Xin chào, tôi là Volodymyr, sống ở Ukraina. Tôi học ngành kỹ sư xây dựng — đã dành nhiều năm bên bàn vẽ và các phần mềm CAD trên máy tính trước khi chuyển nghề sang phát triển phần mềm backend. Nhưng niềm đam mê kỹ thuật chưa bao giờ tắt. Nó dần đưa tôi đến với thế giới máy CNC, thậm chí tự chế tạo từ đầu chiếc máy cắt laser CO₂ của riêng mình.
KulmanLab ra đời từ đó: tôi liên tục cần một cách nhanh chóng để mở tệp DXF, dọn dẹp nó, chỉnh vài đường nét rồi gửi sang máy — mà không phải khởi động phần mềm CAD nặng nề hay đăng ký thêm một dịch vụ đám mây nữa. Vậy là tôi bắt đầu tự xây công cụ của mình. Đó là năm 2023; từ đó đến nay nó là dự án của những buổi tối và cuối tuần.
Cái tên
Kulman là tên gọi của chiếc máy vẽ kỹ thuật cổ điển — bàn vẽ Kuhlmann — ở vùng đất nơi tôi sinh ra. Bao thế hệ kỹ sư đã học vẽ trên nó. KulmanLab là nỗ lực của tôi để giữ tinh thần ấy trong trình duyệt.
Tôi tin một công cụ CAD nên như thế nào
Miễn phí, tức thì và riêng tư. KulmanLab không có tài khoản, không tải lên, không máy chủ phía sau — bản vẽ của bạn được xử lý và lưu trữ hoàn toàn trên thiết bị của bạn, và ứng dụng vẫn hoạt động khi ngoại tuyến. Không phải cài gì, không phải đăng ký gì, không phải giao nộp gì. Chi tiết nằm trong chính sách quyền riêng tư — nó ngắn vì thật sự chẳng có mấy điều để kể.
Đây là công cụ có chủ đích tập trung: vẽ 2D nhanh với terminal lệnh, lớp (layer), kích thước và nhập/xuất DXF trung thực — không phải sản phẩm thay thế cho một bộ CAD đầy đủ trên máy tính. Nếu bạn cắt vật liệu bằng máy CNC hay laser, hoặc cần phác thảo kỹ thuật nhanh cho báo cáo thí nghiệm, nó được làm ra dành cho bạn.
Bên trong
KulmanLab được viết bằng Angular trên nền HTML5 Canvas, xử lý thoải mái các bản vẽ với hơn 100.000 đối tượng. Phần khó nhất cho đến nay chính là định dạng DXF — đọc nó thì dễ, nhưng ghi ra những tệp mà mọi trình biên tập CAD đều chấp nhận lại là một bãi mìn của spline và mã nhóm phải dịch ngược mới hiểu nổi.
Chào hỏi
Tìm thấy lỗi, thiếu tính năng, hay chỉ muốn khoe thứ bạn vừa làm? Hãy mở issue trên GitHub, tham gia r/kulmanlab, hoặc viết cho tôi qua kulmanlab@gmail.com. Tôi đọc tất cả.