Vytisknout stránku | Zavřít okno

Spojení do křivky

Vytištěno z: CAD Fórum
Kategorie: Autodesk - stavebnictví, strojírenství, CAD/GIS
Název fóra: CAD programování
Popis fóra: Otázky programování - nadstavby a utility pro CAD a GIS aplikace Autodesk (VBA, AutoLISP, ARX/C++, .Net, JavaScript, Python, MEL...)
URL: https://www.cadforum.cz/forum/forum_posts.asp?TID=4798
Datum vytištění: 21.čer.2026 v 06:22


Téma: Spojení do křivky
Odeslal: BenaCZ
Předmět: Spojení do křivky
Datum odeslání: 25.čer.2007 v 12:24
Mohli byste mi prosím poradit jak zfunkčnit tento lisp? jedná se o zrychlené spojení čar do 1 křivky.

;;; spoji cary do krivky
(defun C:spojitdokrivky     (/ PDACPT)
;;;nastaví peditaccept
(setq PDACPT (getvar "peditaccept"))
(setvar "peditaccept" 1)

;;;vlastní funkce
(command "_pedit" pause "p" pause)
(princ)
;;; obnovuje původní peditaccept
(setvar "peditaccept" PDACPT)
(princ)
)

Lisp funguje, jen nedokážu po spojení čar do křivky ukončit dialog _pedit Díky moc za radu. Bena

-------------
Bena



Odpovědi:
Odeslal: PepaR
Datum odeslání: 25.čer.2007 v 14:39
No já to řeším prozatím PLJOIN, makro podobného typu jak zamýšlíte Vy by se ale hodilo neboť PLJOIN ve vyšších verzích je trošku nespolehlivé.

-------------
PepaR
https://www.jremes.cz" rel="nofollow - jremes.cz | https://www.stavlab.cz" rel="nofollow - stavlab.cz


Odeslal: chlebovsky
Datum odeslání: 25.čer.2007 v 15:24
Pokud jsem to dobře pochopil, tak se Vám jedná o to, že se vám neukončí příkaz editace křivky.
Myslím že když přepíšete ten command tak by to mělo fungovat.
 
(command "_pedit" pause "_j" (ssget) "" "")
 
doporučuji psát i to "p" anglicky "_j" bude to fungovat vždy
Martin.


Odeslal: BenaCZ
Datum odeslání: 25.čer.2007 v 15:29
Díky moc, je to přesně to co jsem chtěl.

-------------
Bena


Odeslal: johny
Datum odeslání: 04.čvc.2007 v 14:18
Tak ta promenna "peditaccept" je sikovna, kdyby jen o ni clovek vedel :)
Pred casem jsem to taky resil, jeste jsem po tom chtel aby to pospojovalo ikdyz tam jsou male mezery (do 5 cm) a aby slo objekty vybrat pred spustenim prikazu...
 
(defun C:ske( / ss index n Ano tepent) ;spoj "krivky" s mezerou do 0.05
  (command "_select" pause)
  (setq ss (ssget "_p"))
    (setq index 0
   n (sslength ss))
    (repeat n
      (setq typent (cdr (assoc 0 (entget (ssname ss index)))))
       (if (or (equal typent "LINE") (equal typent "ARC"))
  (setq Ano T))
       (setq index (+ 1 index)))
 
  (command "_pedit" "_m" "_p" "")
  (if Ano (command "_y")) ;Kdyz je cara nebo oblouk
  (command "_j" "_j" "_e" "0.05" "")
  (princ)
)
 
Takze ten cyklus se necha nahradit vypnutim te sikovene promenne...



Vytisknout stránku | Zavřít okno