| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: Bilder bzw. Filme verknüpfen (3305 mal gelesen)
|
masterchen Mitglied Planer
Beiträge: 22 Registriert: 30.03.2010 AMD64 X2 5000+, Windows 7 64-Bit, 4GB Arbeitsspeicher, AutoCAD 2011
|
erstellt am: 30. Mrz. 2010 09:38 <-- editieren / zitieren --> Unities abgeben:
Hallo erstmal! Ich habe folgendes Problem, ich möchte, wenn ich in AutoCAD 2009 mit der Maus über ein Objekt gehe, dass mir AutoCAD ein Bild oder sogar ein Video einblendet. Wie kann ich das am besten anstellen? gibt es vielleicht sogar die Möglichkeit das zu Automatisieren falls ich hunderte von Objekten habe? Für die Hilfe bedanke ich mich schon jetzt. LG Alex Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Proxy Ehrenmitglied Stateless-DHCP v6-Paketfragmentierer
Beiträge: 1629 Registriert: 13.11.2003 Tastaturen, Mäuse, Pladden, Monitore, ...
|
erstellt am: 30. Mrz. 2010 09:44 <-- editieren / zitieren --> Unities abgeben: Nur für masterchen
Hyperlinks ? ------------------ MfG Proxy Bitte beachten Sie: Die Verwendung der hier bereitgestellten Signatur geschieht auf Ihre eigene Verantwortung. Diese Signatur wird ohne Gewähr auf Richtigkeit, Vollständigkeit und/oder Funktionalität, sowie ohne Anspruch auf Support zur Verfügung gestellt. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Fiedelzastrow Mitglied Architekt / Bauzeichner
Beiträge: 993 Registriert: 05.07.2007 Win XP AutoCAD 2006 AutoCAD 2009 AutoCAD 2012 LT
|
erstellt am: 30. Mrz. 2010 09:44 <-- editieren / zitieren --> Unities abgeben: Nur für masterchen
Hallo Alex und herzlich willkommen bei cad.de . Zur Verknüpfung von Objekten mit graphischen Objekten empfehle ich Dir in der AutoCAD-Hilfe unter dem Stichwort Hyperlink nach zu schauen. Bezüglich der Automatisierung... Da muß wahrscheinlich eine Programmierung her. Und das ist nicht meine Baustelle. Gruß Robert Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
masterchen Mitglied Planer
Beiträge: 22 Registriert: 30.03.2010 AMD64 X2 5000+, Windows 7 64-Bit, 4GB Arbeitsspeicher, AutoCAD 2011
|
erstellt am: 30. Mrz. 2010 09:47 <-- editieren / zitieren --> Unities abgeben:
|
masterchen Mitglied Planer
Beiträge: 22 Registriert: 30.03.2010 AMD64 X2 5000+, Windows 7 64-Bit, 4GB Arbeitsspeicher, AutoCAD 2011
|
erstellt am: 30. Mrz. 2010 10:08 <-- editieren / zitieren --> Unities abgeben:
OK, war ja eigentlich leichter als man es gewohnt ist ,jetzt öffnet sich die Verknüpfung mit einem externen Programm. Gibt es auch die Möglichkeit das als so eine Art Mouse-over effekt einzustellen? dass ich das bild direkt in der AutoCAD Zeichnung sehen kann? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
masterchen Mitglied Planer
Beiträge: 22 Registriert: 30.03.2010 AMD64 X2 5000+, Windows 7 64-Bit, 4GB Arbeitsspeicher, AutoCAD 2011
|
erstellt am: 30. Mrz. 2010 12:07 <-- editieren / zitieren --> Unities abgeben:
|
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13508 Registriert: 30.11.2003 Hinweis: Meine Mitarbeit auf CAD.DE ist fakultativ, unentgeltlich und beruht nur auf einem ausgeprägtem Helfersyndrom.
|
erstellt am: 30. Mrz. 2010 12:13 <-- editieren / zitieren --> Unities abgeben: Nur für masterchen
|
masterchen Mitglied Planer
Beiträge: 22 Registriert: 30.03.2010 AMD64 X2 5000+, Windows 7 64-Bit, 4GB Arbeitsspeicher, AutoCAD 2011
|
erstellt am: 30. Mrz. 2010 12:22 <-- editieren / zitieren --> Unities abgeben:
|
CADchup Ehrenmitglied V.I.P. h.c.
Beiträge: 3329 Registriert: 14.03.2001 Sicher ist, dass nichts sicher ist. Selbst das nicht. Joachim Ringelnatz
|
erstellt am: 30. Mrz. 2010 15:03 <-- editieren / zitieren --> Unities abgeben: Nur für masterchen
Hi, wenn du dich noch nicht mit Programmierung im Allgemeinen und AutoCAD/AutoLISP/ActiveX im Speziellen auseinandergesetzt und längere Zeit damit verbracht hast, vergiss CADmiums Idee einfach. Er hat nie so etwas geschrieben, es gibt keine Mousereactors, ohmmm. Wenn du aber trotzdem mal reinschnuppern willst, öffne im Hilfsmenü die Entwicklerhilfe. Gruß CADchup
------------------ CADmaro.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
masterchen Mitglied Planer
Beiträge: 22 Registriert: 30.03.2010 AMD64 X2 5000+, Windows 7 64-Bit, 4GB Arbeitsspeicher, AutoCAD 2011
|
erstellt am: 30. Mrz. 2010 15:57 <-- editieren / zitieren --> Unities abgeben:
Hmmmm schade also gibt es in AutoCAD diese Möglichkeit nicht? kann ich mir ja kaum vorstellen. Mit AutoCAD kann man doch sonst ALLES machen. Dann danke ich schonmal für den Hinweis mit dem Mousereactor Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13508 Registriert: 30.11.2003 Hinweis: Meine Mitarbeit auf CAD.DE ist fakultativ, unentgeltlich und beruht nur auf einem ausgeprägtem Helfersyndrom.
|
erstellt am: 30. Mrz. 2010 17:08 <-- editieren / zitieren --> Unities abgeben: Nur für masterchen
|
oscarr Mitglied CAD-Manager
Beiträge: 198 Registriert: 02.10.2007 ACA 2012 - English Win 7/x64
|
erstellt am: 30. Mrz. 2010 17:49 <-- editieren / zitieren --> Unities abgeben: Nur für masterchen
|
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13508 Registriert: 30.11.2003 Hinweis: Meine Mitarbeit auf CAD.DE ist fakultativ, unentgeltlich und beruht nur auf einem ausgeprägtem Helfersyndrom.
|
erstellt am: 30. Mrz. 2010 18:44 <-- editieren / zitieren --> Unities abgeben: Nur für masterchen
|
masterchen Mitglied Planer
Beiträge: 22 Registriert: 30.03.2010 AMD64 X2 5000+, Windows 7 64-Bit, 4GB Arbeitsspeicher, AutoCAD 2011
|
erstellt am: 31. Mrz. 2010 07:53 <-- editieren / zitieren --> Unities abgeben:
|
oscarr Mitglied CAD-Manager
Beiträge: 198 Registriert: 02.10.2007 ACA 2012 - English Win 7/x64
|
erstellt am: 31. Mrz. 2010 10:37 <-- editieren / zitieren --> Unities abgeben: Nur für masterchen
Hui, da hab ich mich aber etwas weit aus dem Fenster ... aber das ist dabei rausgekommen: mit SLON schaltet man das alles ein mit SLOFF schaltet man alles wieder aus. Im Grunde ist es das was CADmium vorgeschlagen hat mit den Reaktoren. Das nennt sich in .NET halt Events und werden mit einem Handler behandelt. Mein Spruch mit den DreiZeilen kommt von der Idee die Adresse des Hyperlinks in einem Browserfenster darzustellen, und der macht dann halt den ganzen Rest. Ich habe das jetzt nicht mit Filmchen getestet, aber wenn der Hyperlink auf einen HTML Datei zeigt die automatischen ein Film startet sollte das gehen, ist halt ein normales InternetExplorer Fenster. Das Beispiel nimmmt nur Hyperlinks von Blöcken.
Code: Imports Autodesk.AutoCAD.ApplicationServices Imports Autodesk.AutoCAD.DatabaseServices Imports Autodesk.AutoCAD.EditorInput Imports Autodesk.AutoCAD.Geometry Imports System.Runtime.InteropServices Imports Autodesk.AutoCAD.RuntimePublic Class ShowLinkInline 'ShowLink ON <CommandMethod("SLON")> _ Public Shared Sub StartMonitor() Dim ed As Editor = Application.DocumentManager.MdiActiveDocument.Editor AddHandler ed.PointMonitor, AddressOf Monitor.ed_PointMonitor End Sub 'ShowLink OFF <CommandMethod("SLOFF")> _ Public Shared Sub StopMonitor() Dim ed As Editor = Application.DocumentManager.MdiActiveDocument.Editor RemoveHandler ed.PointMonitor, AddressOf Monitor.ed_PointMonitor End Sub End Class Public Class Monitor Public Shared Sub ed_PointMonitor(ByVal sender As Object, ByVal PMEA As PointMonitorEventArgs) Dim ed As Editor = DirectCast(sender, Editor) Dim doc As Document = ed.Document If Not PMEA.Context.PointComputed Then Exit Sub End If Try Dim pickbox As Short = CShort(Application.GetSystemVariable("PICKBOX")) Dim extents As Point2d = PMEA.Context.DrawContext.Viewport.GetNumPixelsInUnitSquare(PMEA.Context.ComputedPoint) Dim boxWidth As Double = pickbox / extents.X Dim vec As New Vector3d(boxWidth / 2, boxWidth / 2, 0.0R) Dim pse As PromptSelectionResult = ed.SelectCrossingWindow(PMEA.Context.ComputedPoint - vec, PMEA.Context.ComputedPoint + vec) If pse.Status <> PromptStatus.OK OrElse pse.Value.Count <= 0 Then Exit Sub End If Using tr As Transaction = doc.TransactionManager.StartTransaction() Dim ids As ObjectId() = pse.Value.GetObjectIds() For Each id As ObjectId In ids Dim obj As DBObject = tr.GetObject(id, OpenMode.ForRead) If obj IsNot Nothing Then Dim br As BlockReference = TryCast(obj, BlockReference) If br IsNot Nothing Then Dim myLinkColl As HyperLinkCollection = br.Hyperlinks If myLinkColl.Count = 1 Then Dim myLink As HyperLink = myLinkColl.Item(0) Dim myForm As New Form myForm.FormBorderStyle = FormBorderStyle.FixedToolWindow myForm.Height = 200 myForm.Width = 200 myForm.StartPosition = FormStartPosition.Manual Dim vp As Short = CType(Application.GetSystemVariable("CVPORT"), Short) myForm.Location = ScreenFromDrawingPoint(ed, doc.Window.Handle, PMEA.Context.RawPoint, vp, True) Dim myBrowser As New WebBrowser myBrowser.Dock = DockStyle.Fill myBrowser.Url = New System.Uri(myLink.Name) myForm.Controls.Add(myBrowser) myForm.Show(doc.Window) ed.SetImpliedSelection(Nothing) End If End If End If Next tr.Commit() End Using Catch ex As System.Exception Debug.Print(ex.ToString) End Try End Sub Private Shared Function ScreenFromDrawingPoint(ByVal ed As Editor, ByVal hWnd As IntPtr, ByVal pt As Point3d, ByVal vpNum As Short, ByVal useUcs As Boolean) As Point Dim wcsPt As Point3d = If(useUcs, pt.TransformBy(ed.CurrentUserCoordinateSystem), pt) Dim res As Point = ed.PointToScreen(wcsPt, vpNum) ClientToScreen(hWnd, res) Return res End Function <DllImport("user32.dll")> _ Private Shared Function ClientToScreen(ByVal hWnd As IntPtr, ByRef lpPoint As Point) As Boolean End Function End Class
getestet mit ACA2008 english und VB2008Express, Framework 2.0 Frohe Ostern Holger Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13508 Registriert: 30.11.2003 Hinweis: Meine Mitarbeit auf CAD.DE ist fakultativ, unentgeltlich und beruht nur auf einem ausgeprägtem Helfersyndrom.
|
erstellt am: 31. Mrz. 2010 10:41 <-- editieren / zitieren --> Unities abgeben: Nur für masterchen
|
Ex-Mitglied
|
erstellt am: 31. Mrz. 2010 11:03 <-- editieren / zitieren -->
Hi, Vorsicht: - den Befehl SLOFF gestartet ohne vorher SLON gemacht zu haben bringt das AutoCAD in einige Schwierigkeiten (IMHO ohne es probiert zu haben). - mehrfach den Befehl SLON gestartet und es wird mehrfach der Event aufgerufen. - alfred - ------------------ www.hollaus.at [Diese Nachricht wurde von a.n. am 31. Mrz. 2010 editiert.] |
oscarr Mitglied CAD-Manager
Beiträge: 198 Registriert: 02.10.2007 ACA 2012 - English Win 7/x64
|
erstellt am: 31. Mrz. 2010 11:20 <-- editieren / zitieren --> Unities abgeben: Nur für masterchen
Naja irgendwo muss man die Info für des Bild/Filmchen ja speichern. Und nein kein externes Programm. Die Anzeige erfolgt inerhalb AutoCAD siehe Screenshot @alfred ja ich weiss, aber wenn ich gewusst hätte das Du diesen Thread mitliest hätte ich mir auch mehr mühe gegeben Das was masterchen sich hier wünscht ist in jedem Fall etwas mehr arbeit und übersteigt bei weitem das was ein Forum "mal schnell" lösen kann. Ich habe das aus ein paar vorhendenen CodeSchnipseln zusammen gefügt. Das ganze ist auch noch etwas wacklig da es schnell mehrere Fenster aufruft die sich auch nicht einfach mit ESC schliessen lassen, aber dann wäre ich schnell bei 300 Zeilen oder mehr gekommen, und soviel Zeit habe ich leider nicht. Das ganze ist mehr so ein proof of concept, das Zeigt das es geht. Holger
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
masterchen Mitglied Planer
Beiträge: 22 Registriert: 30.03.2010 AMD64 X2 5000+, Windows 7 64-Bit, 4GB Arbeitsspeicher, AutoCAD 2011
|
erstellt am: 31. Mrz. 2010 14:14 <-- editieren / zitieren --> Unities abgeben:
also erstmal muss ich mich jetzt hier echt mal bedanken! hätte im vorfeld auch nicht gedacht dass das echt so aufwendig ist! dann hätte ich jetzt nur noch eine frage die - wenn ich mir den programm code so ansehe - wohl leicht zu beantworten wäre. wo programmiere ich den code? und wie muss es abspeichern damit autocad nach der befehlseingabe den code auch durch führt? vielen lieben dank an alle die sich gedanken gemacht haben. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ex-Mitglied
|
erstellt am: 31. Mrz. 2010 14:33 <-- editieren / zitieren -->
Hi, >> falls ich hunderte von Objekten habe? Wie wirst Du denn die Zeichnung weitergeben? Gibst Du dann auch hunderte Bilder und das Programm mit? >> wo programmiere ich den code?
SCNR: zu Hause oder im Büro. Ohne Späßchen: 'VB2008Express, Framework 2.0' steht doch eigentlich in oscarr's Beitrag. Darf ich auch mal nach dem Hintergrund fragen, was Du eigentlich vorhast. Ich tendiere dazu, zu bemerken, dass AutoCAD ein Konstruktionssystem ist und weniger eine Auskunftsstation. Deine Anwendung käme mir z.B. bei Kanal-Auswertungen bekannt vor, wo bei der Befahrung Bilder oder Filme gemacht werden. Dafür gibt es aber schon fertige Systeme.
Dann steht man vor der Entscheidung, ob dieses Einblenden/Ausblenden wirklich dadurch ausgelöst werden soll, wenn Du mit der Maus drüberfährst. Du kannst dann, solange die Funktion aktiv ist, nicht mehr wirklich arbeiten, weil dauern Bilder aufblitzen, damit halte ich die einfache Variante Hyperlink (und mit <Strg> draufklicken, wenn Du JETZT das Bild sehen willst) für die (nach aktueller Info) bessere Version. Oskarr hat es auch geschrieben, bei diesem (schönen) Code handelt es sich um eine Konzeption, soll das applikationstauglich werden, sind noch ein paar Schritte notwendig und er hat auch recht damit, dass das wohl nicht kostenlos im Forum unter dem Motto 'Support' zu erwarten sein kann. Natürlich kannst Du mit ihm mal per PM Details austauschen und ev. kommt ihr auch zu einer Einigung. Schreib aber mal, worums eigentlich wirklich geht. - alfred - ------------------ www.hollaus.at |
| Entwicklungspolsterer (m/w/d). | himolla als Arbeitgeber Tolle Sofas und Lieblingssessel machen das Leben einfach besser! Wir schaffen Lieblingsplätze zur körperlichen und mentalen Entspannung. Was einst als kleine Werkstatt in Taufkirchen begann, hat sich zum Innovationsführer und einem der größten Polstermöbelhersteller Europas mit mehr als 2.300 Mitarbeitenden entwickelt. Seit 75 Jahren produziert himolla hochwertige Sitzmöbel mit Leidenschaft, Sachverstand und dem Gewissen, etwas Gutes für die Region zu tun.... | Anzeige ansehen | Entwicklung |
|
masterchen Mitglied Planer
Beiträge: 22 Registriert: 30.03.2010 AMD64 X2 5000+, Windows 7 64-Bit, 4GB Arbeitsspeicher, AutoCAD 2011
|
erstellt am: 31. Mrz. 2010 14:49 <-- editieren / zitieren --> Unities abgeben:
Hallo Alfred, mir ist klar dass so ein code nicht mal eben geschrieben wird! Ich sagte ja bereits ich hätte im vorfeld nicht gedacht dass es so kompliziert ist. Im nachhinein scheint die Variante mit der <STRG> - Tate und drücken wohl auch die einfachere Variante, zumindestens wenns wirklich extrem viele Objekte sind. Die Zeichnung bzw. das Programm würden garnicht mit gegeben werden weil kein Datenaustausch in dem Sinne stattfindet! es würde sich um rein interne informationen handeln. Mit dem Kanalbau biste ja schon fast dran ;-) es geht um die Planung von LWL und deren Bau. Es gibt halt so einige Vorkommnisse Vorort die mit Bildern dokumentiert werden. LG Alex Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |