Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Rund um AutoCAD
  Schräge Linien in Script wä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
Autor Thema:   Schräge Linien in Script wählen (618 mal gelesen)
ChrisSin
Mitglied
Bauingenieur


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

Beiträge: 17
Registriert: 09.11.2006

ACAD2002

erstellt am: 14. Jun. 2007 08:51    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 Morgen,

habe schon im Forum gewühlt, aber iwie nichts passendes gefunden, deshalb so:

ich suche nach einer einfachen Möglichkeit, schräge Linien (Winkel 45°)aus einem Layer (35C) zu filtern und das mit einem Script,
um diese dann auf einen anderen Layer(Hatch25C) zu legen in derselben Zeichnung.

Hintergrund ist der, dass wir Zeichnungen von einem anderen Programm als .dwg exportieren, auf denen dann aber leider die Umrisslinien und die Linien für die Schraffuren von Objekten auf demselben Layer liegen, was nicht sein darf.
Da es eine Menge Zeichnugen sind, möchte ich das Ganze nach Möglichkeit nicht zu Fuss mit _qselect machen.

Freue mich über Tipps,
Christian

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

YanB
Mitglied
Bauzeichner / BIW-Student


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

Beiträge: 11
Registriert: 13.06.2007

AutoCAD 2008
C2D E6400
2 GB Ram
GeForce 7500LE 512MB

erstellt am: 14. Jun. 2007 09: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 ChrisSin 10 Unities + Antwort hilfreich

bist du denn sicher, dass die Schraffuren nur als Linien gezeichnet sind?

nicht, dass du dir die Mühe machst, und ein Skript schreibst, dass schräge Linien auswählt, nur um dann festzustellen, dass es nicht funktioniert, weil es gar keine Linien sind...

Gruß,
Yan

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

ChrisSin
Mitglied
Bauingenieur


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

Beiträge: 17
Registriert: 09.11.2006

ACAD2002

erstellt am: 14. Jun. 2007 09:33    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

Ja, die Schraffuren sind Linien, unglücklicherweise
auch eine Menge davon, und löschen will ich sie nicht...
tja,...

Christian

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

Caladia
Ehrenmitglied V.I.P. h.c.




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

Beiträge: 2546
Registriert: 04.03.2002

ACAD2009
ACAD2010 SP2
ACAD2011 SP1
ABDS-S 2012 SP2
ABDS-S 2013 SP2
ABDS-S 2014 SP1
ABDS-S 2015 SP2
ABDS-S 2016
Expresstools
A3-Makroboard
16-Tasten Lupe
Impression 3
Win7 64bit
IE11
Firefox
Office2003 SP3

erstellt am: 14. Jun. 2007 09:38    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 ChrisSin 10 Unities + Antwort hilfreich

Wie wäre es sie ganz schnell mit SAUSWAHL zu filtern?

------------------
Gruss
Caladia

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

YanB
Mitglied
Bauzeichner / BIW-Student


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

Beiträge: 11
Registriert: 13.06.2007

AutoCAD 2008
C2D E6400
2 GB Ram
GeForce 7500LE 512MB

erstellt am: 14. Jun. 2007 10:01    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 ChrisSin 10 Unities + Antwort hilfreich

ChrisSin hat ja oben schon erwähnt, dass er _qselect nicht benutzen möchte (ist das gleiche wie sauswahl).

andererseits wäre es eine sehr sinple möglichkeit, damit auszuwälen, und dann alles aud einen vorher erstellten Layer zu schieben geht ja blitzschnell.
wenn du das bei jeder Datei machst, dauert es ja wahrscheinlich nicht wirklich länger als jedesmal die Routine zu laden und auszuführen.

um wie viele Dateien handelt es sich denn?

Die Routine dafür wäre ja andererseits auch nicht wirklich kompliziert.

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

ChrisSin
Mitglied
Bauingenieur


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

Beiträge: 17
Registriert: 09.11.2006

ACAD2002

erstellt am: 14. Jun. 2007 10: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

@caladia
ja, das mit der sauswahl wäre mein letzter Rettungsanker ...

Die Sache ist nur:

Es handelt sich nicht nur um eine Zeichnung, bei der das geändert werden muss und es ist nicht die einzige Änderung, d.h. das script
habe ich zum größten Teil schon fertig, müsste es aber um diese "schräge Linien"-Auswahl erweitern...

Christian

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: 13435
Registriert: 30.11.2003

Hinweis: Meine Mitarbeit auf CAD.DE ist fakultativ, unentgeltlich und beruht nur auf einem ausgeprägtem Helfersyndrom.

erstellt am: 14. Jun. 2007 10: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 Nur für ChrisSin 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von ChrisSin:
@caladia
ja, das mit der sauswahl wäre mein letzter Rettungsanker ...

Die Sache ist nur:

Es handelt sich nicht nur um eine Zeichnung, bei der das geändert werden muss und es ist nicht die einzige Änderung, d.h. das script
habe ich zum größten Teil schon fertig, müsste es aber um diese "schräge Linien"-Auswahl erweitern...

Christian


.. dann wirst du wohl auf einen entsprechenden Lispbaustein, den du innerhalb deines Scriptes laden und ausführen läßt,  zurückgreifen müssen...

------------------
  - Thomas -
"Bei 99% aller Probleme ist die umfassende Beschreibung des Problems bereits mehr als die Hälfte der Lösung desselben."

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

ChrisSin
Mitglied
Bauingenieur


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

Beiträge: 17
Registriert: 09.11.2006

ACAD2002

erstellt am: 14. Jun. 2007 10:33    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

Zitat:
Original erstellt von CADmium:
.. dann wirst du wohl auf einen entsprechenden Lispbaustein, den du innerhalb deines Scriptes laden und ausführen läßt,  zurückgreifen müssen...


...ja, nur Lisp kann ich eigentlich nicht.Ich habe daran aber auch schon gedacht und entsprechendes
als download gesucht und einen auf CADlon.de gefunden: die gewählten Linie werden dabei aber gelöscht..

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: 13435
Registriert: 30.11.2003

Hinweis: Meine Mitarbeit auf CAD.DE ist fakultativ, unentgeltlich und beruht nur auf einem ausgeprägtem Helfersyndrom.

erstellt am: 14. Jun. 2007 10:38    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 ChrisSin 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von ChrisSin:
...ja, nur Lisp kann ich eigentlich nicht.Ich habe daran aber auch schon gedacht und entsprechendes
als download gesucht und einen auf CADlon.de gefunden: die gewählten Linie werden dabei aber gelöscht..

.. und wenn du mal bei cadlon.de anfragst, ob dir der Programm autor das evtl. umschreibt ?

------------------
  - Thomas -
"Bei 99% aller Probleme ist die umfassende Beschreibung des Problems bereits mehr als die Hälfte der Lösung desselben."

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

ChrisSin
Mitglied
Bauingenieur


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

Beiträge: 17
Registriert: 09.11.2006

ACAD2002

erstellt am: 14. Jun. 2007 10:56    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

Danke für die Tipps, mal sehen, was ich daraus mache....

Christian

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

YanB
Mitglied
Bauzeichner / BIW-Student


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

Beiträge: 11
Registriert: 13.06.2007

AutoCAD 2008
C2D E6400
2 GB Ram
GeForce 7500LE 512MB

erstellt am: 14. Jun. 2007 12: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 ChrisSin 10 Unities + Antwort hilfreich

hier ist das !fast! komplette Skript:
----------------------------------------
(defun C:LayerWechsel()
(setq counter 0)
(setq eset(ssget "X"))
(while (< counter (sslength eset))
(setq en(ssname eset counter))
(setq elist(entget en))
(if (BEDINGUNGEN) (setq elist(subst (cons 8 "neuer_Layer")(assoc 8 elist) elist)) (entmod elist))
(setq counter(+ counter 1))
)
)
----------------------------------------

Damit das ganze funktioniert müssen noch die Bedingungen eingetragen werden:

Groupcode stelle 0 = "LINE"

und

(= abs(- X_Koordinate_ANFANGSPUNKT X_Koordinate_ENDPUNKT) abs(- Y_Koordinate_ANFANGSPUNKT Y_Koordinate_ENDPUNKT))

Dies gilt natürlich nur für Koordinaten im ersten und dritten Quadranten, im zweiten und vierten wäre die Bedingung komplizierter. Aber wenn die Dateien z.B. Gauss-Krüger-Koordinaten habe, sind sie ja im ersten.

Das einzige Problem was ich habe: Wie komme ich an die Anfangs- und Endpunktkoordinaten? Und die Groupcode Stelle 0? Im dxf-Group-Code sind diese ja für jedes Element angegeben, aber z.B. mit (nth xy (ELEMENT)) gibt  er mir nur den Namen des Elementes bei 0 und ein Paar Koordinaten bei 1 an, die zwar auf der Linie ligen, aber meiner Meinung nach keinen relevanten Punkt beschreiben.
Wo liegt mein Denkfehler?

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: 13435
Registriert: 30.11.2003

Hinweis: Meine Mitarbeit auf CAD.DE ist fakultativ, unentgeltlich und beruht nur auf einem ausgeprägtem Helfersyndrom.

erstellt am: 14. Jun. 2007 12: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 ChrisSin 10 Unities + Antwort hilfreich

Ok .. gerade Mittagspause ..
(defun LHATCHLAY( ANG  NEWLAYER / COUNT BLOCK ITEM NAME)
  (vl-load-com)
  (if(and(numberp ANG)(=(type NEWLAYER)'STR)(tblobjname "LAYER" NEWLAYER)) 
    (vlax-for BLOCK (vla-get-blocks(vla-get-activedocument(vlax-get-acad-object)))
      (vlax-for ITEM BLOCK
        (and(not(vl-catch-all-error-p
                  (setq NAME (vl-catch-all-apply
                                'vla-get-objectname
                                (list ITEM)
                            )
                  )
                )
            )
            (=(strcase NAME)"ACDBLINE")
            (not(vl-catch-all-error-p
                  (setq LANG (vl-catch-all-apply
                                'vla-get-angle
                                (list ITEM)
                            )
                  )
                )
            )
            (equal LANG ANG 0.00000001)           
            (not(vl-catch-all-error-p
                  (vl-catch-all-apply
                    'vla-put-layer
                      (list ITEM NEWLAYER)
                  )
                )
            )
        )       
      )     
    )
  ) 
)

Aufruf mit
(LHATCHLAY (*(/ 45 180.0)Pi) "0") setzt alle LINIEN mit 45° auf LAYER "0"

------------------
  - Thomas -
"Bei 99% aller Probleme ist die umfassende Beschreibung des Problems bereits mehr als die Hälfte der Lösung desselben."

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

YanB
Mitglied
Bauzeichner / BIW-Student


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

Beiträge: 11
Registriert: 13.06.2007

AutoCAD 2008
C2D E6400
2 GB Ram
GeForce 7500LE 512MB

erstellt am: 14. Jun. 2007 12:38    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 ChrisSin 10 Unities + Antwort hilfreich

tja, wär dann ja damit eigentlich erledigt.

allerdings sollte man darauf achten, dass die 225° Linien damit noch nicht umgesetzt sind.
ebenso 315° und 135°

je nachdem wie die Schraffuren angelegt wurden, sind diese 3 ja auch evtl. umzupacken.

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: 13435
Registriert: 30.11.2003

Hinweis: Meine Mitarbeit auf CAD.DE ist fakultativ, unentgeltlich und beruht nur auf einem ausgeprägtem Helfersyndrom.

erstellt am: 14. Jun. 2007 12:51    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 ChrisSin 10 Unities + Antwort hilfreich

 
Zitat:
Original erstellt von YanB:
tja, wär dann ja damit eigentlich erledigt.

allerdings sollte man darauf achten, dass die 225° Linien damit noch nicht umgesetzt sind.
ebenso 315° und 135°

je nachdem wie die Schraffuren angelegt wurden, sind diese 3 ja auch evtl. umzupacken.



ok, dann eben Aufruf mit
(LHATCHLAY (*(/ 225 180.0)Pi) "0") für 225° .. usw..

oder(or(equal (*(/  45 180.0)Pi) ANG 0.00000001)
       (equal (*(/ 135 180.0)Pi) ANG 0.00000001)
       (equal (*(/ 225 180.0)Pi) ANG 0.00000001)
       (equal (*(/ 315 180.0)Pi) ANG 0.00000001)
    )
einbauen ... das sollte ja nun nicht soooo schwer sein?!

------------------
      - Thomas -
"Bei 99% aller Probleme ist die umfassende Beschreibung des Problems bereits mehr als die Hälfte der Lösung desselben."

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

YanB
Mitglied
Bauzeichner / BIW-Student


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

Beiträge: 11
Registriert: 13.06.2007

AutoCAD 2008
C2D E6400
2 GB Ram
GeForce 7500LE 512MB

erstellt am: 14. Jun. 2007 12: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 ChrisSin 10 Unities + Antwort hilfreich

hab ich ja nicht gesagt.. 

ich mein ja nur man sollte dran denken.

da sieht mein kleines skript jetzt ziemlich arm aus 

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: 13435
Registriert: 30.11.2003

Hinweis: Meine Mitarbeit auf CAD.DE ist fakultativ, unentgeltlich und beruht nur auf einem ausgeprägtem Helfersyndrom.

erstellt am: 14. Jun. 2007 12:56    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 ChrisSin 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von YanB:

da sieht mein kleines skript jetzt ziemlich arm aus  

Kein Kommentar ..   

aber wenn du daran arbeiten willst, sei dir DAS BUCH wärmstens empfohlen..

------------------
  - Thomas -
"Bei 99% aller Probleme ist die umfassende Beschreibung des Problems bereits mehr als die Hälfte der Lösung desselben."

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