Hot News aus dem CAD.de-Newsletter:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Rund um AutoCAD
  Objekteigenschaften

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
Autor Thema:   Objekteigenschaften (1740 mal gelesen)
Cadiener
Mitglied
techn. Zeichner


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

Beiträge: 159
Registriert: 28.06.2007

ACAD2015, win7, intel i5 16GB

erstellt am: 25. Jun. 2013 11:44    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

Guten Vormittag ihr lieben,

wir müssen oft Pläne von anderen Erstellern einfügen. Die Objekte haben keine Layereigenschaften. Ist es möglich generell zu sagen, dass die Layereigenschaften vor den Objekteigenschaften greifen, die Objekteigenschaften ignoriert werden? Quasi eine Grundeinstellung.

Gruß
Achim

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: 18749
Registriert: 03.06.2002

System: F1
und Google

erstellt am: 25. Jun. 2013 11:54    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 Cadiener 10 Unities + Antwort hilfreich

Nein (aber coole Idee) ,
es gibt Programme die sowas auf einen Knopfdruck machen, mittlerweile auch eine ganz gute Funktion in Acad selbst: SetByLayer


; Scriptanfang
_SetByLayerMode 255
_.SETBYLAYER
_all

_yes
_yes

oder
;Scriptende

Makro: ^C^C_SetByLayermode;255;_.SETBYLAYER;_all;;_yes;_yes

------------------
Link: User:FAQ (einiges Wissenswertes über AutoCAD)

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

Cadiener
Mitglied
techn. Zeichner


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

Beiträge: 159
Registriert: 28.06.2007

ACAD2015, win7, intel i5 16GB

erstellt am: 25. Jun. 2013 12:07    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

Vielen Dank cadffm,

fast genauso wollte ich das haben. :-)

Achim

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: 228
Registriert: 07.06.2013

erstellt am: 25. Jun. 2013 12:10    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 Cadiener 10 Unities + Antwort hilfreich


Hi,

ich mach sowas mit nem VBA script 
Quickseelct _filter und die CADSTANDARTS sind auch nette helferlein

Anbei ein Grundgeruest
Man kann so ziemlich alles einfach mit der Methode aufrauemen.
Es ist klar das dieses script angepasst werden muss.
Zeiggt aber die prinzipielle vorgehensweise


Sub start_SETENTITYTOLAYERDEFAULTS()
    Dim myselectionset, selectionsetobject As AcadSelectionSet
    Dim myselectionSets As AcadSelectionSets
    If ThisDrawing.PickfirstSelectionSet.count = 0 Then
        MsgBox "SELECT ITEMS FIRST"
        Exit Sub
    End If
    If ThisDrawing.PickfirstSelectionSet.count > 0 Then Set selectionsetobject = ThisDrawing.PickfirstSelectionSet
    Call SETENTITYTOLAYERDEFAULTS(selectionsetobject)
    'Call Selection_set_delete_all
    'ThisDrawing.Application.Update
End Sub

Sub SETENTITYTOLAYERDEFAULTS(ByVal selectionsetobject As AcadSelectionSet)

    Dim entity As AcadEntity
    Dim blockref As AcadBlockReference
    Dim attlist As Variant

    Dim hatchobj As AcadHatch
    Dim patternName As String
    Dim PatternType As Long
    Dim bAssociativity As Boolean
    Dim objlayer As AcadLayer
    Dim P1, p2, P3, ang As Variant
    Dim x, y, z, r, D, pi1, td As Double
    Dim eLayer As AcadLayer
    Dim WIDTH As Double
    Dim I As Integer
    Dim Koord As Variant
    Dim v As String
    Dim b As String
    Dim crlf As String
    Dim text As String

    FORM$ = "#.###"
    Dim nrow As Integer
    Dim NCol As Integer
    Dim Facenr As Double
    Dim test As String
    Dim layers As String
    Dim layertext As String
    Dim ltype, linetypetext, LS() As String

    '  Call Layers_on


    For Each entity In selectionsetobject
        entity.Visible = True
        'If InStr(layers, entity.layer) = 0 Then
        '    Debug.Print entity.Lineweight
        layertext = entity.layer
        linetypetext = UCase(ThisDrawing.layers(layertext).linetype)

        If InStr(ltype, linetypetext) = 0 Then
            ltype = ltype & " " & linetypetext
            Debug.Print linetypetext
        End If
        If InStr(linetypetext, "AUSGEZOGEN") > 0 Then linetypetext = "CONTINUOUS"
        If InStr(linetypetext, "CONTI") > 0 Then linetypetext = "CONTINUOUS"
        If InStr(linetypetext, "BY") > 0 Then linetypetext = "CONTINUOUS"
        If InStr(linetypetext, "STRICHLI") > 0 Then linetypetext = "HIDDEN"
        If InStr(linetypetext, "DASHED") > 0 Then linetypetext = "HIDDEN"
        If InStr(linetypetext, "HIDDEN") > 0 Then linetypetext = "HIDDEN"
        If InStr(linetypetext, "STRICHP") > 0 Then linetypetext = "DASH-DOT1"
        If InStr(linetypetext, "DASH-DOT") > 0 Then linetypetext = "DASH-DOT1"
        If InStr(linetypetext, "MITTE") > 0 Then linetypetext = "DASH-DOT1"
        If InStr(linetypetext, "PHANTOM") > 0 Then linetypetext = "PHANTOM"
        If InStr(linetypetext, "$0$") > 0 Then
            LS = Split(linetypetext, "$0$")
            linetypetext = LS(UBound(LS))
            Debug.Print LS(UBound(LS))
        End If


        If InStr(UCase(layertext), "axis") > 0 Then linetypetext = "DASH-DOT1"
        If InStr(UCase(layertext), "HIDDEN") > 0 Then linetypetext = "DASH-DOT1"

        'If InStr(ltype, linetypetext) = 0 Then linetypetext = "CONTINUOUS"
        On Error Resume Next
        ThisDrawing.layers(layertext).linetype = linetypetext
        On Error GoTo 0

        If entity.color = acByLayer Then
            entity.color = ThisDrawing.layers(layertext).color
        End If
        If entity.lineweight = acLnWtByLayer Then
            entity.lineweight = ThisDrawing.layers(layertext).lineweight
        End If
        If entity.linetype = "BYLAYER" Then
            entity.linetype = ThisDrawing.layers(layertext).linetype
        End If
        entity.linetype = ThisDrawing.layers(layertext).linetype
        'look for object types
        Select Case LCASE(entity.ObjectName)

        Case "acdbblockreference"
        Case "acdbpolyline"
        Case "acdbarc"
        Case "acdbline"
        Case "acdbellipse"
        Case "acdbspline"
        Case "acdbradialdimension"
        Case "acdbhatch"
            Set hatchobj = entity

            hatchobj.SetPattern acHatchPatternTypePreDefined, "SOLID"
            '    hatchobj.AssociativeHatch = True

        Case "acdbmtext"
        Case "acdbcircle"
        Case "acdbrotateddimension"
        Case "acdbtext"
        Case "acdbaligneddimension"
        Case "acdbordinatedimension"
        Case "acdbleader"
        Case "acdbsolid"
        Case "acdbregion"
        Case "acdbattributedefinition"
        Case "acdbface"
        Case "acdb2dpolyline"
        Case "acdbminsertblock"
        Case "acdbzombieentity"
        Case "acdb3dpolyline"
        Case "acdbPOINT"
        Case Else
            If InStr(test, entity.ObjectName) = 0 Then
                Debug.Print "Case " & Chr(34) & LCASE(entity.ObjectName) & Chr(34)
                test = test & " " & entity.ObjectName

            End If
        End Select
    Next entity

    If 1 = 2 Then

        For Each blockdef In ThisDrawing.BLOCKS
            If Not blockdef.IsLayout Then

                Koord0 = blockdef.ORIGIN

                For Each entity In blockdef

                    entity.Visible = True
                    'If InStr(layers, entity.layer) = 0 Then
                    '    Debug.Print entity.Lineweight
                    layertext = entity.layer
                    linetypetext = UCase(ThisDrawing.layers(layertext).linetype)

                    If InStr(ltype, linetypetext) = 0 Then
                        ltype = ltype & " " & linetypetext
                        Debug.Print linetypetext
                    End If
                    If InStr(linetypetext, "AUSGEZOGEN") > 0 Then linetypetext = "CONTINUOUS"
                    If InStr(linetypetext, "CONTI") > 0 Then linetypetext = "CONTINUOUS"
                    If InStr(linetypetext, "BY") > 0 Then linetypetext = "CONTINUOUS"
                    If InStr(linetypetext, "STRICHLI") > 0 Then linetypetext = "HIDDEN"
                    If InStr(linetypetext, "DASHED") > 0 Then linetypetext = "HIDDEN"
                    If InStr(linetypetext, "HIDDEN") > 0 Then linetypetext = "HIDDEN"
                    If InStr(linetypetext, "STRICHP") > 0 Then linetypetext = "DASH-DOT1"
                    If InStr(linetypetext, "DASH-DOT") > 0 Then linetypetext = "DASH-DOT1"
                    If InStr(linetypetext, "MITTE") > 0 Then linetypetext = "DASH-DOT1"
                    If InStr(linetypetext, "PHANTOM") > 0 Then linetypetext = "PHANTOM"
                    If InStr(linetypetext, "$0$") > 0 Then
                        LS = Split(linetypetext, "$0$")
                        linetypetext = LS(UBound(LS))
                        Debug.Print LS(UBound(LS))
                    End If


                    If InStr(UCase(layertext), "axis") > 0 Then linetypetext = "DASH-DOT1"
                    If InStr(UCase(layertext), "HIDDEN") > 0 Then linetypetext = "DASH-DOT1"

                    If InStr(ltype, linetypetext) = 0 Then linetypetext = "CONTINUOUS"
                    On Error Resume Next
                    ThisDrawing.layers(layertext).linetype = linetypetext
                    On Error GoTo 0

                    If entity.color = acByLayer Then
                        entity.color = ThisDrawing.layers(layertext).color
                    End If
                    If entity.lineweight = acLnWtByLayer Then
                        entity.lineweight = ThisDrawing.layers(layertext).lineweight
                    End If
                    If entity.linetype = "BYLAYER" Then
                        entity.linetype = ThisDrawing.layers(layertext).linetype
                    End If
                    entity.linetype = ThisDrawing.layers(layertext).linetype
                    'look for object types
                    Select Case LCASE(entity.ObjectName)

                    Case "acdbblockreference"
                    Case "acdbpolyline"
                    Case "acdbarc"
                    Case "acdbline"
                    Case "acdbellipse"
                    Case "acdbspline"
                    Case "acdbradialdimension"
                    Case "acdbhatch"
                        Set hatchobj = entity

                        'hatchObj.SetPattern acHatchPatternTypePreDefined, "SOLID"
                        '                hatchObj.AssociativeHatch = True

                    Case "acdbmtext"
                    Case "acdbcircle"
                    Case "acdbrotateddimension"
                    Case "acdbtext"
                    Case "acdbaligneddimension"
                    Case "acdbordinatedimension"
                    Case "acdbleader"
                    Case "acdbsolid"
                    Case "acdbregion"
                    Case "acdbattributedefinition"
                    Case "acdbface"
                    Case "acdb2dpolyline"
                    Case "acdbminsertblock"
                    Case "acdbzombieentity"
                    Case "acdb3dpolyline"
                    Case "acdbPOINT"
                    Case Else
                        If InStr(test, entity.ObjectName) = 0 Then
                            Debug.Print "Case " & Chr(34) & LCASE(entity.ObjectName) & Chr(34)
                            test = test & " " & entity.ObjectName

                        End If
                    End Select

                    entity.layer = "0"


                Next entity

            End If
        Next blockdef

    End If

    '    Dim layername As String
    '    Dim objCurrentLayer As AcadLayer

    'layername = "FCR"
    'If Not ThisDrawing.ActiveLayer.name = layernam Then
    '    On Error Resume Next
    '    Set objCurrentLayer = ThisDrawing.layers.Add(layername)
    '    objCurrentLayer.color = 240
    '    objCurrentLayer.LayerOn = True
    '    objCurrentLayer.Freeze = False
    '    objCurrentLayer.Lock = False
    '    objCurrentLayer.Linetype = "CONTINUOUS"
    '    objCurrentLayer.Lineweight = acLnWt035
    '    ThisDrawing.ActiveLayer = objCurrentLayer
    'End If

End Sub

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

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

spider_dd
Mitglied



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

Beiträge: 936
Registriert: 27.11.2003

Win 10Pro
Intel(R) Core(TM) i7-7700
NVIDIA Quadro P1000
ACAD, Civil-3D 2014, 2018

erstellt am: 25. Jun. 2013 13:39    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 Cadiener 10 Unities + Antwort hilfreich

... und ist ja auch nur unwesentlich länger als die von cadffm vorgeschlagene Lösung 

SCNR

Gruß
Thomas

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

Cadiener
Mitglied
techn. Zeichner


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

Beiträge: 159
Registriert: 28.06.2007

ACAD2015, win7, intel i5 16GB

erstellt am: 25. Jun. 2013 14:00    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

richtig nur unwesentlich, ich bin auch erst seit zwei Stunden am lesen.... :-)

Nein, im Ernst, mit Scripten habe ich noch nix am Hut, das muss ich erst mal lernen....

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: 228
Registriert: 07.06.2013

erstellt am: 25. Jun. 2013 15:19    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 Cadiener 10 Unities + Antwort hilfreich

Wenn du das Problem oefter hast lohnt soetwas.
Mal eben 500 Zeichnungen korrigieren anhuebschen etc
da sitzt mit dem andren Loesungsweg doch bissi laenger dran...

hihi und ich hab noch nicht mal das script zum masketten anhuebschen geposted


lg aus finnland

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

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

AsSchu
Ehrenmitglied
Konstrukteur


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

Beiträge: 1632
Registriert: 27.06.2003

ACAD 2012

erstellt am: 27. Jun. 2013 09: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 Cadiener 10 Unities + Antwort hilfreich

Hallo CADFFM,

Gibt es auch eine Möglichkeit innerhalb von MTEXT die Farbe auf Vonlayer zu setzen?
Bekomme immer des öffteren Zeichnungen auf dem die Farbe innerhalb vom Mtext abweicht.
Das ist dann lästig zu ändern.

Dank

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: 18749
Registriert: 03.06.2002

System: F1
und Google

erstellt am: 27. Jun. 2013 09:32    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 Cadiener 10 Unities + Antwort hilfreich

Google nach StripMText.lsp

------------------
Link: User:FAQ (einiges Wissenswertes über AutoCAD)

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

xem
Mitglied
Zeichner


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

Beiträge: 810
Registriert: 07.08.2008

Software:
AutoCAD 2014 - 64bit
Windows 7 Pro - 64bit
PDFCreator 1.0.2 - 32bit
Ghostscript 9.0 - 64bit
PDF-XChange Viewer - 64bit
GIMP 2.6.8 - 64bit
MS Office 2010 - 32bit
Opera 12 - 32bit
MacroX - 32bit
7-zip - 64bit
-----------------------
Hardware:
Intel i5 680 3,6GHz @ 4GHz
8GB RAM 1333MHz
nVidia GTX 460 1024MB
Intel SSD 2.5 80GB X25-M
Samsung SyncMaster 245B+
Iiyama ProLite E1900s
Logitech mx518
Logitech G11
Roccat Sense Glacier Blue

erstellt am: 27. Jun. 2013 10:14    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 Cadiener 10 Unities + Antwort hilfreich

Code:
;MText auf Farbe VONLAYER
(defun c:ftext (/ aws n string)
  (princ "\nBitte Mtexte wählen:")
  (setq aws (ssget (list (cons 0 "MTEXT"))))
  (if aws
    (progn
      (setq n 0)
      (repeat (sslength aws)
        (setq string (cdr (assoc 1 (entget (ssname aws n)))))
        (while (vl-string-search "\\C" string)
          (setq string
                (strcat
                  (substr string 1 (vl-string-search "\\C" string))
                  (substr
                    (substr string
                            (+ 4 (vl-string-search "\\C" string))
                    )
                    (+ 2
                        (vl-string-search
                          ";"
                          (substr string
                                  (+ 4 (vl-string-search "\\C" string))
                          )
                        )
                    )
                  )
                )
          )
        )
        (while (vl-string-search "\\c" string)
          (setq string
                (strcat
                  (substr string 1 (vl-string-search "\\c" string))
                  (substr
                    (substr string
                            (+ 8 (vl-string-search "\\c" string))
                    )
                    (+ 2
                        (vl-string-search
                          ";"
                          (substr string
                                  (+ 8 (vl-string-search "\\c" string))
                          )
                        )
                    )
                  )
                )
          )
        )
        (entmod (subst (cons 1 string)
                      (assoc 1 (entget (ssname aws n)))
                      (entget (ssname aws n))
                )
        )
        (setq n (+ n 1))
      )
    )
    (alert "keine Mtexte ausgewählt.")
  )
  (princ)
)

------------------

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)2018 CAD.de | Impressum | Datenschutz