ARKANCE - globální Platinum partner Autodesk ARKANCE | KONTAKT - CZ | SK | EN | DE
Přes 122.900 registrovaných u nás, celkem 1.126.000 registrovaných (CZ+EN). Tipy pro AutoCAD 2027, pro Inventor 2027 a pro Revit 2027. Nový Kalkulátor nosníků, Spirograf generátor a Regresní křivky v sekci Převodníky. Kompletní příkazy a proměnné AutoCADu 2027.
Be.Smart Connector - ACC-Bluebeam
RSS kanál - CAD tipy RSS tipy
RSS diskuze

Diskuze Diskuzní fórum, poradna

?
CAD 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, 3ds Max, Vault a s dalšími CAD/BIM/PDM 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 (CAD Studio) - přímá podpora pro zákazníky funguje na emea.support.arkance.world
  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
Vladimír Michl Zobrazit panel
Moderátor
Moderátor
Avatar
ARKANCE

Přihlášen: 09.zář.2004
Lokalita: ČR (JČ)
Používám:
Implementujeme řešení Autodesk
Stav: Offline
Bodů: 22189
Přímý odkaz na tuto zprávu Téma: Lisp mleader
    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 CZ - arkance.world
(podpora viz emea.support.arkance.world)
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

Přihlášen: 09.zář.2004
Lokalita: ČR (JČ)
Používám:
Implementujeme řešení Autodesk
Stav: Offline
Bodů: 22189
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 CZ - arkance.world
(podpora viz emea.support.arkance.world)
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

Přihlášen: 09.zář.2004
Lokalita: ČR (JČ)
Používám:
Implementujeme řešení Autodesk
Stav: Offline
Bodů: 22189
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 CZ - arkance.world
(podpora viz emea.support.arkance.world)
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: 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

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,254 sekund.