Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Rund um AutoCAD
  einzelnen Streckenaktion im dyn. Block auswählen

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:  einzelnen Streckenaktion im dyn. Block auswählen (860 mal gelesen)
WuselStift
Mitglied


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

Beiträge: 8
Registriert: 26.09.2007

erstellt am: 27. Feb. 2014 07: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

Hallo mal wieder,

...schickt mich bitte nicht zu AutoLISP, da komme ich gerade her 

Mit

Code:
(sssetfirst(setq AUSWAHL(ssget "_X" (list '(0 . "ATTDEF")'(2 . "TEXT1") (cons 410 (getvar "ctab")))))AUSWAHL)
kann ich geziehlt ein Attribut mit Attributnamen "TEXT1" auswählen.
Mit
Code:
(sssetfirst(setq AUSWAHL(ssget "_x" (list '(0 . "*stretchaction*") (cons 410 (getvar "ctab")))))AUSWAHL)
greife ich mir alle Strecken-Aktionen im Block. Nun möchte ich aber auch geziehlt eine einzelne Strecken-Aktion nach ihrem Aktionsnamen auswählen. Die Frage wäre also:
Welchen Wert bekommt
Code:
(list '(0 . "*stretchaction*")'(xxx . XXX) (cons 410 (getvar "ctab")

Es handelt sich doch hierbei um DXF-Group-Codes?
Verallgemeinert könnte ich also auch fragen, welchen Code haben die Aktionsnamen, -griffe und -parameter in AutoCAD-Blöcken. Ich habe schon bei http://www.autodesk.com/techpubs/autocad/acadr14/dxf/dxf_group_codes.htm nachgeschaut, werde aber nicht fündig.

Grüsse & Danke
Karsten

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

cadffm
Moderator
良い精神




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: 27. Feb. 2014 08:34    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 WuselStift 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von WuselStift:
...schickt mich bitte nicht zu AutoLISP, da komme ich gerade her 

Mit dem Einzigen was wirklich etwas mit Lisp zutun hat (ssget, du erinnerst dich?) gehst du in das 'Rund um AutoCAD' Forum   

Das ist dann wohl zur Hälfte meine Schuld, da scheine ich dich verwirrt zu haben ?


Zum Thema: Die Objekte sind schlecht bis überhaupt nicht dokumentiert von AutoDesk für Lisp,
aber du kannst versuchen selbst etwas darüber heraus zu bekommen:

Variante1: Internet befragen (da war ich nicht so erfolgreich, aber schau mal dort wo du den Code kopiert hast ?)

Variante2: Selbst ist der CAD´ler: Erstelle eine DWG mit "allen" dynamischen Aktionen, dafür brauchen die ja nicht sinnig sein.
Dann als DXF speichern und mit dem Texteditor nachsehen wie die Objekte benannt sind.
Damit der Anfanng leicht von der Hand geht:
Eine Skalieraktion heißt "ScaleActionEntity" und die Streckenaktion heißt richtig "StretchActionEntity"

EDIT: Ich denke ab hier kommst du mit einem ssget und dxfCodes nicht mehr weiter.
Klicke hiermit mal auf eine Streckaktion: (vlax-dump-object(vlax-ename->vla-object(car(entsel))))

Da siehst du den Namen der Aktion, aber ab hier würde es mir bei dem Vorwissen nun zu müßig werden zu helfen, sorry.

Nichts für 'mal eben', aber zu empfehlen,  http://www.tutorial.autolisp.info/
------------------
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

erstellt am: 05. Mrz. 2014 10:16    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 WuselStift 10 Unities + Antwort hilfreich

Hi, ich schick dich mal zu vba 
Man kann solche routinen auch von lisp aus antriggern. Die parameter kann man z.B. mit den user variablen übergeben.
Hoff es hilft
Thomas

Function block_set_parameter(blockref As AcadBlockReference, ByVal Name As String, Value As Variant, Optional ucaseName As Boolean = True) As Boolean
    block_set_parameter = False
    If blockref Is Nothing Then Exit Function
    Dim DynProp As AcadDynamicBlockReferenceProperty
    Dim PROPNAME As String
    Dim Variable As Variant
    Dim Temp As String
    Dim BV As Variant
    If ucaseName Then Name = UCase(Name)
    Variable = blockref.GetDynamicBlockProperties
    For K = LBound(Variable) To UBound(Variable)
        Set DynProp = Variable(K)
        PROPNAME = DynProp.PropertyName
        If ucaseName Then PROPNAME = UCase(PROPNAME)
        'Check for variable and when found ask for input
        If PROPNAME = Name Then
            If DynProp.ReadOnly = False Then
                BV = DynProp.Value
                On Error Resume Next
                Err.Clear
                If DynProp.Value <> Value Then
                    DynProp.Value = Value
                End If
                If Err.number = 0 Then block_set_parameter = True
                On Error GoTo 0
                Err.Clear
                Exit Function
            End If
        End If
    Next
    On Error GoTo 0
End Function

------------------
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