Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Lisp
  Hyperlink Attribut

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte
Autor Thema:  Hyperlink Attribut (2200 mal gelesen)
Bernd P
Ehrenmitglied V.I.P. h.c.
cook-general



Sehen Sie sich das Profil von Bernd P an!   Senden Sie eine Private Message an Bernd P  Schreiben Sie einen Gästebucheintrag für Bernd P

Beiträge: 3358
Registriert: 07.06.2001

W10-64bit, AMD Ryzen 7 3700X,32GB RAM, Sapphire Pulse Radeon RX 570 8G G5, Canon TX-3000 MFP, Maus Cherry MW4500, Sub:Infrastructure Design Suite, Office 365

erstellt am: 10. Feb. 2011 13:30    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Servus

Ich hab mehrere Blöcke mit dem Attribut Hyperlink in dem steht das Layout das angezeigt werden soll.
Hab im Netz dieses LISP gefunden, es wandelt den Inhalt von Attribut Hyperlink zu einen Hyperlink um.
Blöder weise erkennt er nicht das es sich dabei um eine "Ansicht dieser Zeichnung handelt" (AdZh).

Hab das (strcat "#," hinzugefügt, jetzt erkennt er nach aufrufen von Hyperlink bei gewählten Objekt das es ein AdZh ist.

Code:
(defun c:BLK_Attribut2Hyperlink ( / ss ) (vl-load-com)
;; © JM 2010

(if (ssget '((0 . "INSERT") (66 . 1)))
(progn
(vlax-for obj
(setq ss
(vla-get-ActiveSelectionSet
(vla-get-ActiveDocument (vlax-get-acad-object))
)
)
(mapcar
(function
(lambda ( x )
(if (eq "HYPERLINK" (strcase (vla-get-TagString x) ))
(vla-Add (vla-get-Hyperlinks obj) (strcat "#," (vla-get-Textstring x)))
)
)
)
(vlax-invoke obj 'GetAttributes)
)
)
(vla-delete ss)
)
)

(princ)
)


------------------
<----- Bitte Systeminfo eintragen, warum siehst du hier. "Warum Einfach es geht auch kompliziert". Schöne Grüsse aus der Steiermark  Bernd P. Sport ist Mord
Rekorde: Scalelist>11727, Fehler>34365, Layerfilter>XXXX

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

domda0
Mitglied



Sehen Sie sich das Profil von domda0 an!   Senden Sie eine Private Message an domda0  Schreiben Sie einen Gästebucheintrag für domda0

Beiträge: 149
Registriert: 21.04.2004

erstellt am: 11. Feb. 2011 10:53    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Bernd P 10 Unities + Antwort hilfreich

Hi,

hab genau ein solches lsp gesucht, funkt. auch einwandfrei.
Bei mir  handelt es sich um hyperlinks die auf verschiedene Internetseiten zeigen.
Da sich diese Seiten (Attribut Hyperlink) allerdings ändern können (dynamisch),
sollte sich der hyperlink auch aktualisieren nicht nur neu setzen lassen, lässt sich das auch realisieren?

Danke schon mal vorab,
Dominik

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

domda0
Mitglied



Sehen Sie sich das Profil von domda0 an!   Senden Sie eine Private Message an domda0  Schreiben Sie einen Gästebucheintrag für domda0

Beiträge: 149
Registriert: 21.04.2004

ACAD 2014

erstellt am: 11. Feb. 2011 21:57    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Bernd P 10 Unities + Antwort hilfreich

Hallo zusammen,
hab das lisp gefunden welches nicht nur die hyperlinks setzt sondern bei Änderung des Attributtextes auch "updatet" falls es jemand benötigt (allerdings ohne die Funkt. mit den AdZh)

Code:
(defun c:sethl ( / ss hyp ) (vl-load-com)
  ;; © Lee Mac 2010

  (if (ssget '((0 . "INSERT") (66 . 1)))
    (progn
      (vlax-for obj
        (setq ss
          (vla-get-ActiveSelectionSet
            (vla-get-ActiveDocument (vlax-get-acad-object))
          )
        )
        (mapcar
          (function
            (lambda ( x )
              (if (eq "HYPERLINK" (strcase (vla-get-TagString x)))
                (progn
                  (vlax-for h (setq hyp (vla-get-Hyperlinks obj))
                    (vla-delete h)
                  )                   
                  (vla-Add hyp (vla-get-Textstring x))
                )
              )
            )
          )
          (vlax-invoke obj 'GetAttributes)
        )
      )
      (vla-delete ss)
    )
  )

  (princ)
  )


Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Bernd P
Ehrenmitglied V.I.P. h.c.
cook-general



Sehen Sie sich das Profil von Bernd P an!   Senden Sie eine Private Message an Bernd P  Schreiben Sie einen Gästebucheintrag für Bernd P

Beiträge: 3358
Registriert: 07.06.2001

W10-64bit, AMD Ryzen 7 3700X,32GB RAM, Sapphire Pulse Radeon RX 570 8G G5, Canon TX-3000 MFP, Maus Cherry MW4500, Sub:Infrastructure Design Suite, Office 365

erstellt am: 15. Feb. 2011 16:02    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

schön für dich  aber das hilft mir nicht weiter....   

------------------
<----- Bitte Systeminfo eintragen, warum siehst du hier. "Warum Einfach es geht auch kompliziert". Schöne Grüsse aus der Steiermark  Bernd P. Sport ist Mord
Rekorde: Scalelist>11727, Fehler>34365, Layerfilter>XXXX

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

FBrueck
Mitglied
Vermessungstechniker


Sehen Sie sich das Profil von FBrueck an!   Senden Sie eine Private Message an FBrueck  Schreiben Sie einen Gästebucheintrag für FBrueck

Beiträge: 27
Registriert: 13.04.2010

erstellt am: 17. Feb. 2011 08:21    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Bernd P 10 Unities + Antwort hilfreich

Tach Dominik,

das ist genau das, was ich gerade suche!! Kannst Du bitte mal für dummies erklären, was ich mit dem Code anstellen soll unter ACad 2011?

LG
Frederik

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

CADmium
Moderator
Maschinenbaukonstrukteur




Sehen Sie sich das Profil von CADmium an!   Senden Sie eine Private Message an CADmium  Schreiben Sie einen Gästebucheintrag für CADmium

Beiträge: 13508
Registriert: 30.11.2003

.

erstellt am: 17. Feb. 2011 08:23    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Bernd P 10 Unities + Antwort hilfreich

FBrueck
Mitglied
Vermessungstechniker


Sehen Sie sich das Profil von FBrueck an!   Senden Sie eine Private Message an FBrueck  Schreiben Sie einen Gästebucheintrag für FBrueck

Beiträge: 27
Registriert: 13.04.2010

erstellt am: 17. Feb. 2011 11:21    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Bernd P 10 Unities + Antwort hilfreich

Danke CADmium!
klappt super, aber mein eigentliches Problem ist, daß ich keine Ahnung von AutoLISP habe...
Also, der Reihe nach:
Ich dokumentiere ein grosses Kabelbau-Projekt, dabei sind Teile der Verlegung als Bohrung ausgeführt, die in Protokollen als PDF dokumentiert sind. Der Kunde wünscht, daß diese PDF's aus der DWG als Hyperlink aufrufbar sind.
Die PDF-Namen unterscheiden sich nur in der Bohr-Nummer, die ein Block-Attribut ist, also müsste ich einen Link setzen, der aus 2 Strings und dem Att-Wert besteht, etwa so:
  
Zitat:
(vla-Add hyp ".\Bohrprotokolle\Bohrung_" (vla-get-Textstring x) ".pdf")

Obiger Code führ aber dazu, daß als Link nur [.pdf] gesetzt wird.  
Also: Wie übergebe ich der Funktion vla-Add diese Liste?

Im Moment habe ich den Code in der Form:

Code:
(defun c:sethl ( / ss hyp ) (vl-load-com)
  ;; © Lee Mac 2010

  (if (ssget '((0 . "INSERT") (66 . 1)))
    (progn
      (vlax-for obj
        (setq ss
          (vla-get-ActiveSelectionSet
            (vla-get-ActiveDocument (vlax-get-acad-object))
          )
        )
        (mapcar
          (function
            (lambda ( x )
              (if (eq "NUMMER" (strcase (vla-get-TagString x)))
                (progn
                  (vlax-for h (setq hyp (vla-get-Hyperlinks obj))
                    (vla-delete h)
                  )                   
                  (vla-Add hyp ".\Bohrprotokolle\Bohrung_" (vla-get-Textstring x) ".pdf")
                )
              )
            )
          )
          (vlax-invoke obj 'GetAttributes)
        )
      )
      (vla-delete ss)
    )
  )

  (princ)
  )


LG
Frederik

[Diese Nachricht wurde von FBrueck am 17. Feb. 2011 editiert.]

[Diese Nachricht wurde von FBrueck am 17. Feb. 2011 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

CAD-Huebner
Ehrenmitglied V.I.P. h.c.
Verm.- Ing., ATC-Trainer



Sehen Sie sich das Profil von CAD-Huebner an!   Senden Sie eine Private Message an CAD-Huebner  Schreiben Sie einen Gästebucheintrag für CAD-Huebner

Beiträge: 9732
Registriert: 01.12.2003

One AutoCAD 2.5 - 2023, Civil 3D, Win10/win11

erstellt am: 17. Feb. 2011 11:36    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Bernd P 10 Unities + Antwort hilfreich

Die Zeichenkette muss mit strcat (sting concatenation) zuvor zusammengefasst werden zu einem String
(vla-Add hyp (strcat ".\\Bohrprotokolle\\Bohrung_" (vla-get-Textstring x) ".pdf"))
[EDIT] und statt Backslash \ muss in Pfadangaben bei LISP ein Doppelbackslasch geschrieben werden \\, alternativ geht auch ein normaler Slash /.


------------------
Mit freundlichem Gruß

Udo Hübner
www.CAD-Huebner.de

[Diese Nachricht wurde von CAD-Huebner am 17. Feb. 2011 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

FBrueck
Mitglied
Vermessungstechniker


Sehen Sie sich das Profil von FBrueck an!   Senden Sie eine Private Message an FBrueck  Schreiben Sie einen Gästebucheintrag für FBrueck

Beiträge: 27
Registriert: 13.04.2010

erstellt am: 17. Feb. 2011 11:55    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Bernd P 10 Unities + Antwort hilfreich

Vielen, Vielen Dank!!
Jetzt klappt's, und wie!
(400 Hyperlinks in einer Zeichnung setzen innerhalb von 3 min , das soll mal einer nachmachen von Hand...
Immer wieder schön, wohin einen gesunde Faulheit führen kann.

Frederik

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz