Untitled

mail@pastecode.io avatar
unknown
plain_text
12 days ago
1.6 kB
2
Indexable
Never
(defun c:TRAY3D ()
  (setq total-length 244.0) ; Panjang keseluruhan tray dalam cm
  (setq section-length (/ total-length 4)) ; Panjang setiap bagian (61 cm)
  
  ;; Membuat tray dalam 2D terlebih dahulu, kita akan menggambar garis
  ;; 1. Garis sepanjang tray
  (setq p1 (list 0 0 0)) ; Titik awal
  (setq p2 (list total-length 0 0)) ; Titik akhir

  (command "LINE" p1 p2 "") ; Buat garis sepanjang 244 cm

  ;; 2. Membagi tray menjadi 4 bagian
  (setq p3 (list section-length 0 0)) ; Titik 61 cm
  (setq p4 (list (* 2 section-length) 0 0)) ; Titik 122 cm
  (setq p5 (list (* 3 section-length) 0 0)) ; Titik 183 cm
  
  (command "LINE" p3 (list section-length 10 0) "") ; Menandai bagian pertama
  (command "LINE" p4 (list (* 2 section-length) 10 0) "") ; Menandai bagian kedua
  (command "LINE" p5 (list (* 3 section-length) 10 0) "") ; Menandai bagian ketiga

  ;; 3. Memotong bagian pertama untuk sudut 90°
  ;; Ini dapat disimulasikan dengan memutar objek
  (command "ROTATE" "ALL" p1 p2 "90")

  ;; 4. Mengikir bagian potongan (simulasi dengan garis kecil di ujung)
  (setq p6 (list section-length 0 0))
  (command "LINE" p6 (list section-length 0.2 0) "")

  ;; 5. Memotong bagian kedua hingga 45°
  (command "ROTATE" "ALL" p4 p5 "45")

  ;; 6. Mengikir bagian potongan
  (command "LINE" p5 (list (* 3 section-length) 0.2 0) "")

  ;; 7. Membuat tray sesuai corak yang diinginkan (misalnya garis melengkung atau desain lainnya)
  (command "ARC" p1 p2 p3)

  (princ "\nTray 3D berhasil digambar.")
)

Leave a Comment