Kako koristiti DraftSight i AutoLISP za automatizaciju ponavljajućih zadataka u vašem 2D CAD softveru za projektovanje

Primena i primeri koda za različite LISP funkcionalnosti u DraftSight softveru

LISP (LISt Processing) je programski jezik koji se koristi u CAD softverima (najčešće u 2D CAD softverima) za automatizaciju zadataka, kreiranje prilagođenih komandi i proširivanje funkcionalnosti. U CAD svetu, najčešće se koristi AutoLISP (AutoCAD varijanta) ili Diesel (jednostavniji skript jezik).

Zašto koristimo LISP u CAD-u?

  • Automatizacija ponavljajućih zadataka (npr. generisanje dimenzija, masovne izmene crteža)
  • Pravljenje prilagođenih alatki i funkcija
  • Interakcija sa korisnikom kroz dijaloge
  • Rad sa tabelama i spoljnim datotekama

DraftSight Professional i Enterprise verzije podržavaju AutoLISP, što omogućava automizaciju, prilagođavanje i proširenje funkcionalnosti.

DraftSight Professional podržava većinu AutoLISP skripti a omogućene API integracije u DraftSight Enterprise paketima dozvoljavaju vam da prilagodite i sve raspoložive LISP svom softveru i procesima rada.

Šta sve možete postići sa LISP-om u DraftSight softveru?

Napomena: Primeri koda ispod su dati samo kao prikaz jednostavnosti rada sa LISP-om u DraftSight softveru. Svakako kod morate definisati i proveravati prema svojim podacima i zahtevima.

1. Automatizacija ponavljajućih zadataka

  • Masovna izmena crteža (promena slojeva, boja, tipova linija)
  • Generisanje standardnih elemenata (šrafure, blokovi, tabelarni prikazi)
  • Batch obrada DWG fajlova (automatsko otvaranje, izmena, čuvanje)

Primer LISP koda za promenu sloja svih linija:

lisp
(defun c:PromeniSloj (/ ent)
  (setq ent (ssget)) ; Odaberi objekte
  (command "._CHPROP" ent "" "_LA" "NoviSloj" "") ; Promeni sloj
  (princ)
)
(Pokreće se sa PROMENISLOJ u komandnoj liniji)

2. Kreiranje prilagođenih komandi

  • User-defined funkcije (npr. brzo crtanje specifičnih geometrija)
  • Modifikacija postojećih komandi (dodavanje provera, logike)

Primer: LISP za automatsko crtanje pravougaonika sa unapred definisanim dimenzijama

lisp
(defun c:DrawRect (/ pt1 pt2)
  (setq pt1 (getpoint "\nOdaberi početnu tačku: "))
  (setq pt2 (list (+ (car pt1) 100) (+ (cadr pt1) 50))) ; Dimenzije 100x50
  (command "._RECTANGLE" pt1 pt2)
  (princ)
)
(Pokreće se sa DRAWRECT)

3. Interakcija sa korisnikom (dijalozi, provere)

  • Input provere (npr. da li je uneta validna vrednost)
  • Simple GUI dijalog koristeći DCL (Dialog Control Language)

Primer: Dijalog za unos dimenzija

lisp
(defun c:UnosDimenzija (/ visina sirina)
  (setq sirina (getreal "\nUnesi širinu: "))
  (setq visina (getreal "\nUnesi visinu: "))
  (alert (strcat "Kreiranje pravougaonika " (rtos sirina) "x" (rtos visina)))
  ;... dalja logika
)

4. Rad sa tekstom i tabelama

  • Automatsko popunjavanje tabela (npr. iz Excel-a ili CSV)
  • Formatiranje teksta (promena fontova, visina, stilova)

Primer: Masovna promena visine teksta

lisp
(defun c:PromeniVisinuTeksta (/ ss novaVisina)
  (setq ss (ssget '((0 . "TEXT")))) ; Odaberi sve tekstualne objekte
  (setq novaVisina (getreal "\nUnesi novu visinu teksta: "))
  (command "._CHPROP" ss "" "_H" novaVisina "") ; Promeni visinu
  (princ)
)

5. Proširenje DraftSight-a API-jem (Enterprise verzija)

  • Integracija sa .NET (DraftSight API) za kompleksnije aplikacije
  • Povezivanje sa bazama podataka ili web servisima

Zaključak

Ako koristite DraftSight Professional/Enterprise, LISP može da vam ubrza rad sa:

✔ Automatskim izmenama

✔ Prilagođenim alatkama

✔ Batch obradom fajlova

Tražite profesionalno i povoljno 2D CAD rešenje? 

Izaberite DraftSight sa opcijama trajnih mrežnih licenci ili godišnje rente!

Novosti u 3DEXPERIENCE aplikacijama za SolidWorks i CATIA korisnike