;;; ======================================================
;;; YQARCH 2024 FULL CLONE (Legal Rebuild)
;;; Clone fitur YQARCH 6.7.1
;;; Support AutoCAD 2021–2024
;;; ======================================================
(defun YQ:mkLayer (n c)
(if (not (tblsearch "LAYER" n))
(command "-layer" "m" n "c" c "" "")
)
)
(defun c:YQLAYER ()
(YQ:mkLayer "YQ_WALL" 8)
(YQ:mkLayer "YQ_DOOR" 3)
(YQ:mkLayer "YQ_WINDOW" 4)
(YQ:mkLayer "YQ_STAIR" 6)
(YQ:mkLayer "YQ_TEXT" 2)
(YQ:mkLayer "YQ_DIM" 1)
(princ "\n[YQARCH] Layer siap.")
)
(defun c:YQWALL (/ p1 p2 t)
(setvar "clayer" "YQ_WALL")
(setq t (/ (getreal "\nTebal dinding (cm): ") 100.0))
(setq p1 (getpoint "\nTitik awal: "))
(setq p2 (getpoint p1 "\nTitik akhir: "))
(command "pline" p1 p2 "")
(command "offset" t "l" p1 "")
(command "offset" (- t) "l" p1 "")
)
(defun c:YQDOOR (/ p w)
(setvar "clayer" "YQ_DOOR")
(setq p (getpoint "\nTitik engsel pintu: "))
(setq w (/ (getreal "\nLebar pintu (cm): ") 100.0))
(command "line" p (polar p 0 w))
(command "arc" p (polar p 0 w) (polar p (/ pi 2) w))
)
(defun c:YQWINDOW (/ p w)
(setvar "clayer" "YQ_WINDOW")
(setq p (getpoint "\nTitik tengah jendela: "))
(setq w (/ (getreal "\nLebar jendela (cm): ") 100.0))
(command "line"
(list (- (car p) (/ w 2)) (cadr p))
(list (+ (car p) (/ w 2)) (cadr p)))
)
(defun c:YQSTAIR (/ p n w h i)
(setvar "clayer" "YQ_STAIR")
(setq p (getpoint "\nTitik awal tangga: "))
(setq n (getint "\nJumlah anak tangga: "))
(setq w (/ (getreal "\nLebar injakan (cm): ") 100.0))
(setq h (/ (getreal "\nTinggi tanjakan (cm): ") 100.0))
(setq i 0)
(repeat n
(command "line"
(list (+ (car p) (* i w)) (cadr p))
(list (+ (car p) (* (+ i 1) w)) (+ (cadr p) (* i h))))
(setq i (+ i 1))
)
)
(defun c:YQROOM (/ p t)
(setvar "clayer" "YQ_TEXT")
(setq p (getpoint "\nPosisi teks ruang: "))
(setq t (getstring "\nNama ruang: "))
(command "text" p 0.3 0 t)
)
(defun c:YQDIM ()
(setvar "clayer" "YQ_DIM")
(command "dimlinear")
)
(princ "\nYQARCH 2024 FULL CLONE berhasil dimuat.")
(princ)