Diskuzní fórum a databáze tipů a utilit pro AutoCAD, Inventor, Revit a další produkty Autodesk - od firmy Arkance Systems [www.cadforum.cz]
CZ | SK | EN | DE
Přihlášení
či registrace
   právě nás čte: 7268 
RSS kanál - CAD tipy RSS tipy
RSS diskuze

Diskuze Diskuzní fórum, poradna

 

NápovědaCAD diskuze, rady, výměna zkušeností

 
CAD Fórum - Homepage Veřejné diskuzní fórum k CAD aplikacím - ptejte se na libovolné otázky týkající se oboru CAx, podělte se o vaše znalosti a zkušenosti s programy AutoCAD, Inventor, Revit, Fusion 360, 3ds Max a s dalšími CAD aplikacemi. Zaregistrujte se nebo se přihlašte a zašlete váš příspěvek do odpovídajícího fóra. Viz další informace o CAD Fóru. Nechcete se registrovat? Zeptejte se v naší Facebook poradně.
Fórum nenahrazuje technický support firmy Arkance Systems (CAD Studio) - přímá podpora pro zákazníky funguje na helpdesk.cadstudio.cz
  FAQ FAQ  Prohledat fórum   Události   Registrovat Registrovat  Přihlásit Přihlásit

Téma uzavřenoLisp mleader

 Odpovědět Odpovědět archiv
Autor
Pan.Fazole Zobrazit panel
Nováček
Nováček

Přihlášen: 10.bře.2008
Lokalita: ČR (Pha)
Používám:
acad
Stav: Offline
Bodů: 8
Přímý odkaz na tuto zprávu Téma: Lisp mleader
    Zasláno: 12.dub.2014 v 23:17
Ahoj

Potřeboval bych poradit - nějak nakopnout :

• mám např. obdélník
• ten obdélník je v bloku
• ten blok má nějaký ref. bod a nějaký název (např. obdélník)

a já bych potřeboval lisp který mi automaticky vytvoří odkaz (_mleader) vycházející z refenčního bodu a jehož text bude název toho bloku



Připojené náhledyPřihlaste se pro zobrazení plné verze - 6982/obdelnik2.png



snažim se tu s googlem a nápovědou dvě noci po sobě něco vyplodit, ale výsledek takřka nula nula nic :(

snad jen tento kód (háže okno s názvem bloku a ještě musim ten blok ručně vybrat - což je sice hezký ale to nechci :)  )

 (defun c:test  (/ ent)
(vl-load-com)
      (cond
            ((and
                   (setq ent (car (entsel "\nVyber blok: ")))
                   (eq (cdr (assoc 0 (entget ent))) "Vloz")
                   (alert (strcat "Nazev:"
                                  (vla-get-effectivename
                                        (vlax-ename->vla-object ent)))))
             ))


Díky za každou pomoc
Zpět nahoru
Vladimír Michl Zobrazit panel
Moderátor
Moderátor
Avatar
Arkance Systems

Přihlášen: 09.zář.2004
Lokalita: ČR (JČ)
Používám:
Dodáváme produkty Autodesk
Stav: Offline
Bodů: 21470
Přímý odkaz na tuto zprávu Zasláno: 13.dub.2014 v 11:12
A jak chcete ten blok vybrat když ne ručně? Potřebujete všechny bloky nebo jeden konkrétního jména? Nestačila by standardní popiska textovým polem?
Vladimír Michl (moderátor)
Arkance Systems s.r.o. - www.arkance-systems.cz
(podpora viz hd.cads.cz)
Zpět nahoru
hlusiakov Zobrazit panel
Diskutér
Diskutér
Avatar

Přihlášen: 20.lis.2009
Lokalita: ČR (Pha)
Používám:
AutoCAD2014, Revit2014
Stav: Offline
Bodů: 55
Přímý odkaz na tuto zprávu Zasláno: 13.dub.2014 v 17:08
Ahoj, tady máš to co potřebuješ ;)

Stačí složku v archivu zkopírovat do %appdata%\Autodesk\ApplicationPlugins

a potom v AutoCAD zadáš jen příkaz BLEADER



Připojené souboryrarBlockLeader.bundle.rar
Zpět nahoru
Vladimír Michl Zobrazit panel
Moderátor
Moderátor
Avatar
Arkance Systems

Přihlášen: 09.zář.2004
Lokalita: ČR (JČ)
Používám:
Dodáváme produkty Autodesk
Stav: Offline
Bodů: 21470
Přímý odkaz na tuto zprávu Zasláno: 13.dub.2014 v 18:07

Hezké, popřípadě verze v AutoLISPu (soubor.lsp):

;popiska názvu bloku - CAD Studio
;
;(setvar "DIMTXT" 10)

(defun C:BLeader ( / ss ent blkname pt)
 (setvar "CMDECHO" 0)
 (princ "\nVyberte blok:")
 (setq ss (ssget "_+.:E:S" '((0 . "INSERT"))))
 (if ss (progn
  (setq ent (entget (ssname ss 0))
        blkname (cdr (assoc 2 ent))
        pt (cdr (assoc 10 ent)))
  (princ (strcat blkname " - umístění popisky: "))
  (command "_LEADER" pt pause "" blkname "")
 ));if
 (setvar "CMDECHO" 1)
 (prin1)
)

(princ "\nPříkaz BLeader načten.")
(prin1)

Vladimír Michl (moderátor)
Arkance Systems s.r.o. - www.arkance-systems.cz
(podpora viz hd.cads.cz)
Zpět nahoru
Pan.Fazole Zobrazit panel
Nováček
Nováček

Přihlášen: 10.bře.2008
Lokalita: ČR (Pha)
Používám:
acad
Stav: Offline
Bodů: 8
Přímý odkaz na tuto zprávu Zasláno: 28.dub.2014 v 00:58
Dobrý den

Moc děkuji za odpovědi a pomoc.
Ale toto není úplně to přesné co potřebuji.

Řekněme že mám ve výkrese 3objekty (kvádr, krychle, kužel), každý je v samostatném bloku s názvem (kvádr, krychle,kužel)

A já bych potřeboval, aby lisp prošel celý výkres a ke všem blokům přiřadil odkaz s názvem příslušného bloku. Takže bych měl 3odkazy (kvádr, krychle, kužel). Na pozici odkazu by nezáleželo.


Připojené náhledyPřihlaste se pro zobrazení plné verze - 6982/leader02-Model.png


Zpět nahoru
Vladimír Michl Zobrazit panel
Moderátor
Moderátor
Avatar
Arkance Systems

Přihlášen: 09.zář.2004
Lokalita: ČR (JČ)
Používám:
Dodáváme produkty Autodesk
Stav: Offline
Bodů: 21470
Přímý odkaz na tuto zprávu Zasláno: 28.dub.2014 v 08:16
Na to bude stačit menší úprava:
 
;popiska názvu bloku - CAD Studio
;
;(setvar "DIMTXT" 10)
(defun C:BLeader ( / ss ent blkname pt)
 (setvar "CMDECHO" 0)
 (princ "\nVyberte bloky:")
; (setq ss (ssget "_+.:E:S" '((0 . "INSERT"))))
 (setq ss (ssget '((0 . "INSERT"))))
 (if ss
  (while (setq ent (ssname ss 0))
   (ssdel ent ss)
   (setq ent (entget ent)
         blkname (cdr (assoc 2 ent))
         pt (cdr (assoc 10 ent)))
   (princ (strcat blkname " "))
   (setvar "OSMODE" (boole 7 (getvar "OSMODE") 16384))
   (command "_LEADER" pt (list (+ (car pt)(getvar "DIMTXT"))(+ (cadr pt)(getvar "DIMTXT"))) "" blkname "")
   (setvar "OSMODE" (boole 2 (getvar "OSMODE") 16384))
 )) ;if/while
 (setvar "CMDECHO" 1)
 (prin1)
)
(princ "\nPříkaz BLeader načten.")
(prin1)
Vladimír Michl (moderátor)
Arkance Systems s.r.o. - www.arkance-systems.cz
(podpora viz hd.cads.cz)
Zpět nahoru

Pro technickou podporu CAD
kontaktujte Helpdesk

Příbuzné CAD tipy:
Tip 8064:Jak přidat předponu nebo příponu k vybraným textům?
Tip 7264:Určení editoru pro texty multiodkazů (MODKAZ).
Tip 7040:Jak zadat multiodkaz s ostrým zalomením?
Tip 7187:Jak zvětšit odsazení textu MOdkazu od podtržení?
Tip 3821:Starší LISP aplikace mi nefungují správně.
Tip 176:problem with Lisp code for defining of Linewidth


 Odpovědět Odpovědět

Přejít na fórum Oprávnění fóra Zobrazit panel



Stránka byla vygenerována za 0,688 sekund.