Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  AutoCAD VBA
  Rotated Dimension via Lisp auslesen

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:  Rotated Dimension via Lisp auslesen (675 / mal gelesen)
rexxitall
Mitglied
Dipl. -Ing. Bau


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

Beiträge: 266
Registriert: 07.06.2013

Various: systems, Operating systems, cad systems, cad versions, programming languages.

erstellt am: 25. Jan. 2016 21:40    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

Him ich versuch gerade an die Geometrie von Maßketten zu kommen. Leider hat die recherche ergeben das ein Großteil der Maßketteneigenschaften nicht direkt von VA adressiert weden können. Interessanterweise hat Lisp dieses Problem nicht. Hat jemand zufällig code rumliegen, der z.B. die Maßpunkte einer Maßkette die per Handle in einer Uservariabelen übergeben wird ausliest und die Koordinaten per anderen uservariablen zurückliefert etc ?

Das geht auch mit VBA üebr einen ziemlich üblen umweg (Falls wer denkt einfach explodieren - ist nicht mehr seit 2015 zumindest) Wenn eght es dadurch das man eine im Maßkettentext sich im zugeörigen Block MText wiederspiegelde Eigenschaft als Markierung setzt und dann darf man durch alle Blockdefs durchlaufen bis man die findet.

Ich hab damit mal etwas gespielt. Aber so richtig happy bin ich damit noch nicht.


Sub blonam()
Dim blo As AcadBlock
Dim entity As AcadEntity
Dim ent2 As AcadEntity
Dim MT As AcadMText
For Each blo In ThisDrawing.BLOCKS
    Debug.Print blo.name
    Dim S() As String
    On Error Resume Next
    blo.name = Replace(blo.name, "*", "")
    On Error GoTo weiter:
    On Error GoTo 0
    If blo.name = "D4388" Then
        Debug.Print blo.objectid
        For Each entity In blo
            Debug.Print entity.ObjectName
            On Error GoTo 0
            If InStr(LCase(entity.ObjectName), "text") > 0 Then
                Set MT = entity
                Debug.Print MT.TEXTSTRING
               
                If InStr(MT.TEXTSTRING, "*" & Chr(255)) > 0 Then
                    S = Split(MT.TEXTSTRING, "*" & Chr(255))
           
                    If UBound(S) > 0 Then
                        'MT.TEXTSTRING = S(0) & S(2)
                        Debug.Print S(1)
                       
                       
                        If GET_ENTITY_BY_HANDLE(ent2, S(1)) Then
                       
                            Call XDATA_Set("DIM", ent2, "blo.handle")
                           
                        End If
                        Exit For
                    End If
       
                End If
            End If
       
       
        Next
    End If
weiter:
Next
ThisDrawing.REGEN acAllViewports

End Sub
Sub blonam2()
Dim blo As AcadBlock
Dim entity As AcadEntity
Dim Obj As AcadBlockReference
Dim dims As AcadDimRotated
For Each entity In ThisDrawing.modelspace
    If InStr(LCase(entity.ObjectName), "dim") > 0 Then
   
   
    Set dims = entity
    If InStr(dims.TextPrefix, "*" & Chr(255) & dims.HANDLE & "*" & Chr(255)) = 0 Then
    dims.TextPrefix = dims.TextPrefix & "*" & Chr(255) & dims.HANDLE & "*" & Chr(255)
    End If
End If


Next
ThisDrawing.REGEN acAllViewports
End Sub


------------------
Wer es nicht versucht, hat schon verlorn 
Und bei 3 Typos gibts den vierten gratis !
<<< for sale !

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

cadffm
Ehrenmitglied V.I.P. h.c.
良い精神



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

Beiträge: 21533
Registriert: 03.06.2002

System: F1
und Google

erstellt am: 25. Jan. 2016 23:50    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 rexxitall 10 Unities + Antwort hilfreich

Maßketten?
Eigenschaften adressieren?
Informationsaustausch über "Uservariablen"?

Öhm. Ich ignoriere mal alles was mich irritiert, dann bleibt noch die Frage:
VL.Bibliothek laden und über die Lispfunktionen die Info abfragen.
Code herumliegen? Nein, aber auch falls doch, ich könnte aktuell nicht darauf zugreifen.

Brauchst du denn wirklich die Koordinaten (wofür)?

------------------
CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD

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

rexxitall
Mitglied
Dipl. -Ing. Bau


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

Beiträge: 266
Registriert: 07.06.2013

Various: systems, Operating systems, cad systems, cad versions, programming languages.

erstellt am: 26. Jan. 2016 10:20    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

Hi, ich bin kein Lispler,
Ich hab auch noch coe rumfliegen der Lisp direkt aufruft, muss nicht über die Uservars sein 
Mir gehen die Maßketten von Acad seit ewig auf den Zünder, das was die haben ist Steinzeit, das konnte Zeicon vor 30 Jahren schon besser. Ich will Masskettenzüge als ganzes anordnen, erzeugen, verschieben, Maßketten zusammenfassen, aufsplitten...
Sprich mir endlich mal die Bemaßungsfunktionen bauen die ICH haben will seit 10 Jahren 
Geht alles na klar auch so ... Mit endlosem Zeitaufwand.
Der Code oben kommt da fast auch scho dran. Das ist ein Experiment um herauszubekommen welcher anonyme Block
zu welcher dargestellten Maßkette gehört. So man den hat könnt man den auslesen.
Was mich daran stört ist das man erst die ganze Zeichnung durchlaufen muss um ne Zuordnungstabelle zu erzeugen.
Und ist zugegeben ein bischen durch die Brust ins Auge.
Ich schaff im Industrie / Brückenbau. Da hast fix ein paar hundert Maßketten auf einem Plan...
Und ich krieg jedesmal nen Tobsuchtsanfall wenn ich die bemaßen darf.
Das beschriften kann ja wohl nicht länger dauern als das design zu entwickeln.
BTW: die Funktion Wähle bauteile aus, lege Schnittlinie fest und baue nen Maßkettenblock auf funktioniert bereits einwandfrei.
Beschleunigt das Erstellen von Maßketten um Faktor 10. Die haben dann je MasskettenLinie (besteht us mehrere Maßketten) auch die gleichen Abstände unter und nebeneinander
Werd ich noch um Maßkettenblock aus Pickpunkten und Maßketten aus Eementen ergänzen. Was mit 8h Aufwand erledigt sein sollt.
Das ganze assoziativ zu machen so wie ICH es haben will ist dann auch nu noch ein WE.

Grüße Thomas

------------------
Wer es nicht versucht, hat schon verlorn 
Und bei 3 Typos gibts den vierten gratis !
<<< for sale !

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