Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Lisp
  Zeilenumbruch

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:  Zeilenumbruch (3491 mal gelesen)
Theodor Schoenwald
Ehrenmitglied



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

Beiträge: 1672
Registriert: 16.04.2002

erstellt am: 07. Apr. 2012 01:04    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,

wenn ich folgendes Mtext Beispiel schreibe:
----------------------------------
Test1  Test 2
Test3

Test 4
----------------------------------
werden mit der Assoziation-Liste folgende Daten ausgegeben:

"Test1  Test 2\\PTest3\\P\\PTest 4"

Wie kann ich den Text mit Zeilenumbrüchen ausgeben, damit der Text wieder so auf der Zeichnung erscheint wie er vorher war, nur nicht als Mtext-Block sondern als normaler Text.

Es geht mit "_explode", das kann ich für mein Tool: "Text mit Polylinien überzeichnen" nicht brauchen.


Gruß
Theodor Schönwald


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

.

erstellt am: 07. Apr. 2012 09:28    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 Theodor Schoenwald 10 Unities + Antwort hilfreich

2 Möglichkeiten :
MTEXT analysieren ( Font / Farbe / Zeilenabstand..) und daraus Texte generieren
oder
MTEXT mit Vektor 0,0 kopieren.... Kopie explodieren ...entstandenen Objekte merken .... Dein Nachzeichentool drüberlaufen lassen....gemerkte Objekte löschen ...

be MTexten im Block muß die Mtextkopie im Modelspace erzeugt verden .. via vla-copyobjects auch nicht das Problem

Ich finde das 2. einfacher....

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

Theodor Schoenwald
Ehrenmitglied



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

Beiträge: 1672
Registriert: 16.04.2002

erstellt am: 07. Apr. 2012 10:48    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 Thomas,

der ursprüngliche Mtext muss nicht erhalten bleiben, der wird nach erfolgreichem Nachzeichnen gelöscht.

Inzwischen habe ich ich mit Deinem ersten Vorschlag experimentiert und habe gute Ergebnisse.
So habe ich es gemacht:
Jedes Zeichen mit einer Polylinie überzeichnet.
Immer wenn ein "\\P" kommt, lasse ich das nächste Zeichen um einen bestimmten Abstand (in Y) versetzt zeichnen.
Es funktioniert, ist aber viel Aufwand.
Hinzu kommt noch, dass das erste Zeichen bei einem "Text" etwas vom Text-Einfügepunkt entfernt ist, als bei "Mtext".
Das Tool funktioniert für "Text" einwandfrei, ich will es für "MText" erweitern.

Deshalb wäre mir Dein zweiter Vorschlag lieber.
Es bleibt die Frage:

"...entstandenen Objekte merken ....",

es können nach dem Auflösen viele Textzeilen sein, wie merken?

Danke für Deine Vorschläge.

Gruß
Theodor


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

.

erstellt am: 07. Apr. 2012 10:59    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 Theodor Schoenwald 10 Unities + Antwort hilfreich

na vor dem "explode" ein
(setq LASTOBJ(entlast))
und nach dem "explode" ein
(while (setq LASTOBJ(entnext LASTOBJ))(setq OBJLIST(cons LASTOBJ OBJLIST))) ....

Bekommen wir dein Tool denn hier auch mal zu sehen ? Oder nur ne Beschreibung (wie zuletzt meist)? 

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

Theodor Schoenwald
Ehrenmitglied



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

Beiträge: 1672
Registriert: 16.04.2002

erstellt am: 07. Apr. 2012 11: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

Hallo Thomas,

... Ergebnisbeispiele auf jeden Fall.

Gruß
Theodor

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

archtools
Mitglied



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

Beiträge: 823
Registriert: 09.10.2004

Entwickler für AutoCAD, BricsCAD u.a., alle Systeme

erstellt am: 07. Apr. 2012 17: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 Theodor Schoenwald 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von Theodor Schoenwald:
Hallo Thomas,

der ursprüngliche Mtext muss nicht erhalten bleiben, der wird nach erfolgreichem Nachzeichnen gelöscht.

Inzwischen habe ich ich mit Deinem ersten Vorschlag experimentiert und habe gute Ergebnisse.
So habe ich es gemacht:
Jedes Zeichen mit einer Polylinie überzeichnet.
Immer wenn ein "\\P" kommt, lasse ich das nächste Zeichen um einen bestimmten Abstand (in Y) versetzt zeichnen.
Es funktioniert, ist aber viel Aufwand.
Hinzu kommt noch, dass das erste Zeichen bei einem "Text" etwas vom Text-Einfügepunkt entfernt ist, als bei "Mtext".
Das Tool funktioniert für "Text" einwandfrei, ich will es für "MText" erweitern.

Deshalb wäre mir Dein zweiter Vorschlag lieber.
Es bleibt die Frage:

"...entstandenen Objekte merken ....",

es können nach dem Auflösen viele Textzeilen sein, wie merken?


Mach's doch so: packe den ganzen MTEXT-String in einen String. Das sieht dann so aus: "\"ABC\\PDEF\"". In diesem String ersetzt Du das "\\P" wiederum durch zwei Anführungszeichen (und nach Gusto mit einem Leerzeichen dazwischen), also durch "\" \"". Dann hängst Du mittels STRCAT ein "(" vor das Ganze, und ein ")" hinter das Ganze. Das sieht dann so aus:  "(\"ABC\" \"DEF\")"

Und das übergibst Du jetzt an READ:
(read "(\"ABC\" \"DEF\")") ergibt dann ("ABC" "DEF").

Du kriegst auf diese simple Weise Deinen MTEXT in eine Liste der Zeilen darin, die Du dann ordentlich an was auch immer zur Weiterverarbeitung übergeben kannst.

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

Theodor Schoenwald
Ehrenmitglied



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

Beiträge: 1672
Registriert: 16.04.2002

erstellt am: 07. Apr. 2012 21:24    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


dialog1.gif


dialog2.gif


Dialog3.gif

 
Hallo,

@Thomas,
Dein Vorschlag Nr.: 2 auflösen und dann ... lastobj ..., funktioniert, wenn nur ein Mtext auf der Zeichnung ist.

Was ich vorab schon gemacht hatte, aber etwas Umstand war, funktioniert am besten.
Es deckt sich fast mit dem Vorschlag von @archtools:

Zuerst ersetze ich alle //P durch das "Alt+124"
Danach geht es so weiter:

TH = Texthöhe,
BR = Textbreite (Breite der einzelnen Zeichen),
L_PT = der letzte Punkt.

(foreach N Z_LST
(cond
  ; wenn ein Leerzeichen im Text ist wird die Breite verschoben
  ((= N " ") (setq BR 1.5))
  ; wenn das Zeichen "Alt+124" im Text ist, wird die
    Position nach unten verschoben
  ((= N "|") (setq BR 0) (setq L_PT (mapcar '- (list 0 (* 1.66 TH) 0) L_PT)))
  ; wenn ein Zeichen vorkommt das überzeichnet werden soll.
  ('t (DA2PL K_DAT N S_PT))
)
...
...
...

Die Funktionen:
1.
Abfrage ob ein vorhandener Text überzeichnet oder ein neuer Text gezeichtnet werden soll, ein neuer Text wird gleich mit mit Polylinien gezeichnet.
2.
Ein Datendatei mit den Koordinaten des gewünschten Textstils, wird vorgeschlagen oder kann aus eine Liste ausgewählt werden.
3.
Wenn "neuer Text" gewählt wurde, wird eine Eingabezeile angeboten.
4.
Bei gewähltem Text wird die Texhöhe und Textposition beibehalten.
Bei neuem Text kann die Text-Höhe angegeben werden.

Die angehängten Dialogbilder zeigen die Abfragen und eine Gegenüberstellung, von Text der mit _textexp aufgelöst und Text der gezeichnet wurde.

Da technische Teile meistens mit Normschrift garviert werden, würde eine Datendatei reichen in der die Daten für die Textzeichen abgelegt sind.

Die Daten für ein "S" (Stil Isocp) sehen so aus:
-----------------------------------
[S]
#5
0 4.5 8.5 0
1 2.5 8.9
3 1.2 5.1 2.1 6.9
1 4 3.7
2 2.5 0.1 3.1 2
1 0 1
END
-----------------------------------

Für andere Zeichen ist es meistens weniger.
Es ist nicht wenig Aufwand bis aber alle großen und kleinen Buchstaben, Zahlen und Sonderzeichen für einen Stil gemacht sind.
Um den Aufwand zu minimieren, habe ich ein weiteres Tool erstellt, mit dem in ca. 2 Stunden, eine Datendatei für einen Textstil gemacht werden kann.
Die Arbeit muss pro Textstil nur einmal gemacht werden.
Ein großer Vorteil ist, dass auch Datendateien für Symbole, Sonderzeichen und Logos erstellt werden können. Die Zeichen können auf Buchstaben (groß und klein) und auf Zahlen gelegt werden.

1992 habe ich angefangen so ein Tool zu erstellen, ich habe die Arbeit weg gelegt und gehofft, dass ich etwas Brauchbares finde, das es zu kaufen gibt.

Nun ist das Tool fertig, es war viel Arbeit, jetzt kann ich saubere Textkonturen gravieren oder lasern.

Ob ich das Tool zum Verkauf anbieten werde, da bin ich mit mir noch nicht einig und wenn, habe ich auch noch keine Preisvorstellung.

Gruß

Theodor Schönwald

 


[Diese Nachricht wurde von Theodor Schoenwald am 07. Apr. 2012 editiert.]

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

Theodor Schoenwald
Ehrenmitglied



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

Beiträge: 1672
Registriert: 16.04.2002

erstellt am: 07. Apr. 2012 21:36    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


TEXT2PL.gif

 
... Nachtag,

es fehlte noch das Vergleichsbeispiel.

Gruß
Theodor

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

.

erstellt am: 08. Apr. 2012 10: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 Theodor Schoenwald 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von Theodor Schoenwald:
Hallo,

@Thomas,
Dein Vorschlag Nr.: 2 auflösen und dann ... lastobj ..., funktioniert, wenn nur ein Mtext auf der Zeichnung ist.


nee... du mußt den Code natürlich für jeden ausgewählten Mtext durchlaufen.. aber egal ... nach meinem Eindruck war die Frage eh nicht das Ziel.


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

Theodor Schoenwald
Ehrenmitglied



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

Beiträge: 1672
Registriert: 16.04.2002

erstellt am: 08. Apr. 2012 17: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

Hallo Thomas,

als ich die den Beitrag angefangen habe, hatte ich: "Neuer Text", "Text überzeichen", das funktionierte, Mtext mit nur einer Zeile auch.

Für mehrzeiligen "Mtext" hatte ich auch eine Lösung, die mir aber zu umständlich vor kam.

Es hätte sein können, dass es eine einfachere und bessere Lösung gibt, Dein zweiter Vorschlag war gut und ich habe alles darauf abgestimmt.

Der ganze Programmteil war danach einfacher und kürzer.
Da ich nach der Auflösung von Mtext zu Text nur noch Text weiter verarbeiten musste, entfielen auch die unterschiedlichen Startpunkte von Text und Mtext.

Zum testen, hatte ich viele M-Texte geschrieben.
Nach dem ich den ersten aufgelöst und die Zeichen überschrieben hatte, machte ich das Gleiche mit weiteren Texten.

Danach war die Anzahl der Elemente höher und ich habe wieder die erste Variante benutzt.

Der Weg - wie mit Mtext umgehen - war das Ziel.

Es ist nicht so, dass Deinen zweiten Vorschlag ganz weg lege, vielleicht habe ich noch einen Denkfehler beim Weg 2.
So habe ich es gemacht:
;;-----------------------------------------------------
(setq Z1 0)
(while (< Z1 AWSL)
(cond
  ((= (FLD_E 0 (ssname AWS Z1)) "TEXT") (setq ASW_LST (cons (ssname AWS Z1) ASW_LST)))
  ((= (FLD_E 0 (ssname AWS Z1)) "MTEXT") (setq ASW_LST (append (X_P (ssname AWS Z1)) ASW_LST)))
)
(setq Z1 (1+ Z1))
)
(princ "\nListe-Länge: ")
(princ (length ASW_LST))
;;...
;;...
;; Die Unterfunktionen X_P und FLD_E
;; ---------------------------------
(defun X_P (EN / OBJLIST LASTOBJ)

(command "_explode" EN)
(setq LASTOBJ EN)
(while (setq LASTOBJ (entnext LASTOBJ)) (setq OBJLIST (cons LASTOBJ OBJLIST)))

OBJLIST
)
;;--------------------------------------------
(defun FLD_E (A B) (cdr (assoc A (entget B))))
;;--------------------------------------------


Gruß
Theodor


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

.

erstellt am: 08. Apr. 2012 21:27    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 Theodor Schoenwald 10 Unities + Antwort hilfreich

(defun X_P (EN / OBJLIST LASTOBJ)
(setq LASTOBJ (entlast))
(command "_explode" EN)
(while (setq LASTOBJ (entnext LASTOBJ)) (setq OBJLIST (cons LASTOBJ OBJLIST)))
OBJLIST
)

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

Theodor Schoenwald
Ehrenmitglied



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

Beiträge: 1672
Registriert: 16.04.2002

erstellt am: 08. Apr. 2012 22:13    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 Thomas,

die Verwechslung, dass ich:
(command "_EXPLODE" EN)
vor: 
(setq LASTOBJ (entlast))

gelistet habe, kam vom kopieren der Zeilen von der Lisp in den Beitrag, das habe ich übersehen. In meiner Lisp-Datei war die Reihenfolge richtig.

Das Problem ist, dass wenn ich mehrere M-Texte nicht auf einmal, sondern nacheinander bearbeitet habe, (entlast) nicht das letzte Element ausgegeben hat, das ich haben wollte, sondern ein anderes Element.
In der Hilfe von "entlast" war ein Beispiel, wie diese Sache behoben werden kann.

Es sieht jetzt so aus und funktioniert einwandfrei.
;;----------------------------------
(defun X_P (EN / X OBJLIST LASTOBJ)
(setq LASTOBJ (entlast))
(while (setq X (entnext LASTOBJ)) (setq LASTOBJ X))
(command "_EXPLODE" EN)
(while (setq LASTOBJ (entnext LASTOBJ)) (setq OBJLIST (cons LASTOBJ OBJLIST)))
OBJLIST
)
;; --------------------------------

Vielen Dank für Deine Vorschläge

Theodor

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

Theodor Schoenwald
Ehrenmitglied



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

Beiträge: 1672
Registriert: 16.04.2002

erstellt am: 09. Apr. 2012 22:11    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


Bild033.gif

 

... ein weiteres Vergleichsbeispiel:
ein "P" mit dem Schriftstil Arial.

Zum angehängten Bild:

Bei der oberen Reihe waren folgende Arbeitsschritte erforderlich:
- Das P schreiben,
- den Text (das P) auflösen.
- Mit dem Befehl Ursprung die Polylinie auflösen,
  damit man die inneren Linien löschen kann.
- Die Linien löschen,
- mit Pedit die bereinigte Kontur verbinden.
- Danach wurde die Taschenbahn zum Ausräumen erstetllt.

Das Ergebnis:
3 Polylinien mit "500" Linienelemententen.
500 CNC-Sätze, die von der CNC-Maschine, mit Rampen rauf und runter abgearbeitet werden.


Arbeitsschritte bei der untere Reihe:
- Das P schreiben,
- das P mit dem beschriebenen Tool überzeichen.
- Danach die Taschenbahn zum Ausräumen.

Das Ergebnis:
3 Polylinien mit "129" Elementen die aus Linien und Bögen bestehen.
129 CNC-Sätze, bei den die CNC-Maschine - nur an den Ecken - Rampen fahren muss.

Beim gezeigten Beispiel "P" sind wenig Bögen, bei Zahlen und Buchstaben wie "O" oder "S" ist der Unterschied noch viel größer.

Das Tool war viel Arbeit die umsonst war, wenn Autodesk einmal mit dem Befehl "_TXTEXP" Text so auflösen kann, dass die Konturen aus Linien und Bögen bestehen.

Gruß

Theodor

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

.

erstellt am: 13. Apr. 2012 18:06    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 Theodor Schoenwald 10 Unities + Antwort hilfreich

"_TXTEXP" .. ist ein ganz allgemein gehaltenes Tool , mit dem ( über _wmfout und _wmfin ) jeder Text mit jedem Textfont in Kurvenobjekte wie Linien, Bögen usw. umgewandelt werden kann. Dein Tool braucht für jeden Font eine eigene Zeichenbeschreibung .. und wird damit immer etwas  - für einige Zwecke (CNC) viel Besseres -  Spezielles 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

Theodor Schoenwald
Ehrenmitglied



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

Beiträge: 1672
Registriert: 16.04.2002

erstellt am: 13. Apr. 2012 20:48    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 Thomas,

"_txtexp" arbeitet mit über _wmfout und _wmfin, ein Tool das, das gleiche macht hatte ich schon gemacht, als es "_txtexp" noch nicht gab.

Die so umgewandelte Textkontur besteht - zumindest war es bei mir immer so - aus Polylinien, die Elemente der Polylinie sind Linien bei den Bögen sind es kurze Linien-Stücke.

Dass dabei Bögen sind ist mir neu, hätte ich das gewusst, hätte ich mir die ganze Arbeit nicht gemacht.

Gruß
Theodor

 

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

.

erstellt am: 13. Apr. 2012 21: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 Theodor Schoenwald 10 Unities + Antwort hilfreich

Keine Ahnung ob nun Bögen oder kurze Linien ... hab ich jetzt nicht getestet ... auf alle Fälle was Allgemeines ..... für CNC und andere Sachen aber halt nicht so optimales. Dein Tool ist schon ok und auch sicher ne Bereicherung , aber immer ne Spezialanwendung ( wie so viele Tools .... ) . Deshalb gibt es ja auch die Programmierschnittstelle für ACAD  , oder ?

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

Theodor Schoenwald
Ehrenmitglied



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

Beiträge: 1672
Registriert: 16.04.2002

erstellt am: 14. Apr. 2012 11:11    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,

in einem Buch über ACAD 9 habe ich den Satz gelesen:
"Man kann die Geometriedaten von ACAD nutzen um daraus CNC-Wegdaten zu generieren".
Das hat mich gepackt, denn dadurch mussten die CNC-Programme nicht mehr mühsam von Hand geschrieben werden. die weiteren Vorteile: Kontur-Fehler sind ausgeschlossen und die Folgen von Fehlern, Crash an den teueren Maschinen auch.
Der eine Weg geht über DXF das wird extern gemacht, wenn die Zeichnung fertig ist.
Der andere Weg ist, die Geometrie-Daten direkt in der offenen Zeichnung abzugreifen. Dafür ist Lisp das ideale Werkzeug.

Der Weg für Schriften:
ACAD (oder sonst ein CAD, das Lisp hat) --> Lisp --> Text aus Polylinien --> Lisp --> CNC-Programm --> CNC-Maschine --> sauber gefräste Schriftgravuren.

Für Laser- oder Wasserstrahlschneidmaschinen, können auch Schriftzeichen mit Stegen erstellt werden.
So viel zu: Woher, Was, Wie, Wofür.

Gruß
Theodor Schönwald

[Diese Nachricht wurde von Theodor Schoenwald am 15. Apr. 2012 editiert.]

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