| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Turbocad |
Autor
|
Thema: Linien mit zunehmendem Abstand zeichnen (4233 mal gelesen)
|
Zahnlücke Mitglied Offsetdrucker
Beiträge: 24 Registriert: 26.11.2007 TurboCAD V, 12.5, Konstruktionspaket, Windows XP
|
erstellt am: 07. Nov. 2008 16:08 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen. Ich stehe vor dem Problem sehr viele Linien mit einem zunehmenden Abstand in x-Richtung zu zeichnen. Vielleicht kann mir jemand hier einen Tip geben, wie dies zu machen wäre, denn mir fällt auf die Schnelle einfach nichts schlaues ein. TurboCAD 12.5 Werner Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Zahnlücke Mitglied Offsetdrucker
Beiträge: 24 Registriert: 26.11.2007 TurboCAD V, 12.5, Konstruktionspaket, Windows XP
|
erstellt am: 07. Nov. 2008 16:20 <-- editieren / zitieren --> Unities abgeben:
|
Hansjoa Mitglied Ing.-Büro, selbständig
Beiträge: 424 Registriert: 13.06.2001 Hardware: Intel Core i7-3770 4x 3400 MHz - 8 GB Grafikkarte NVIDIA Quadro K4000 Plotter: HP Designjet 1050C plus Windows 7 Professional 64 Bit Software: TurboCad Vers. 3 bis Pro Platinum 2017
|
erstellt am: 07. Nov. 2008 21:02 <-- editieren / zitieren --> Unities abgeben: Nur für Zahnlücke
Hallo Werner, da ich nicht weiß, wofür das gut sein soll, und welche Ansprüche du daran stellst, komme ich mal mit einem Primitiv-Vorschlag. Ich vermute aber, dass das für dich unbrauchbar ist, weil die Abstände nicht mathematisch definiert sind. Ich denke, die anliegenden Bilder erklären sich von selbst. ------------------ Gruß
Hans-Joachim meibom-bau.de [Diese Nachricht wurde von Hansjoa am 07. Nov. 2008 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Zahnlücke Mitglied Offsetdrucker
Beiträge: 24 Registriert: 26.11.2007 TurboCAD V, 12.5, Konstruktionspaket, Windows XP
|
erstellt am: 08. Nov. 2008 06:00 <-- editieren / zitieren --> Unities abgeben:
Hallo Hans-Joachim, erst mal besten Dank für deine Mühe. Ich möchte mir ein Chart für Fotografische Zwecke erstellen, bei dem ein Linienmuster zur Bestimmung des Auflösungsvermögens von Objektiven benutzt wird. Dies sollte mathematisch genau definiert sein und etwa so wie in dem beigefügten Bild aussehen. Da ich des öfteren verschiedene Linienmuster benötige wäre ein eleganter Weg zu dessen Erstellung das was mir viel Zeit ersparen könnte. In TC könnte sowas doch einiges grösser als benötigt gezeichnet werden um in der Druckausgabe bei entsprechender Verkleinerung eine möglichst hohe Qualität der Daten zu erreichen. Wie ich jedoch die Linienbreiten und die Abstände dazwischen in konstant zunehmender Stärke verbreitern kann, ist das Problem, welches mir Kopfzerbrechen bereitet. VG Werner Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Hansjoa Mitglied Ing.-Büro, selbständig
Beiträge: 424 Registriert: 13.06.2001 Hardware: Intel Core i7-3770 4x 3400 MHz - 8 GB Grafikkarte NVIDIA Quadro K4000 Plotter: HP Designjet 1050C plus Windows 7 Professional 64 Bit Software: TurboCad Vers. 3 bis Pro Platinum 2017
|
erstellt am: 08. Nov. 2008 15:56 <-- editieren / zitieren --> Unities abgeben: Nur für Zahnlücke
Hallo Werner, wenn ich das machen müsste, würde ich den Umweg über HPGL wählen, womit ich früher meinen Stiftplotter angesteuert habe. Mit einer kleinen BASIC-Routine die Koordinaten der Zeichnungsobjekte berechnen und in HPGL ausgeben. TurboCad kann ja HPGL einlesen. Die wenigen nötigen HPGL-Plotbefehle (s. Internet) sind ja überschaubar. Der bessere Weg wäre wohl ein VBA-Script, was ich leider nicht beherrsche.
------------------ Gruß Hans-Joachim meibom-bau.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Zahnlücke Mitglied Offsetdrucker
Beiträge: 24 Registriert: 26.11.2007 TurboCAD V, 12.5, Konstruktionspaket, Windows XP
|
erstellt am: 08. Nov. 2008 17:22 <-- editieren / zitieren --> Unities abgeben:
Hallo Hans-Joachim, nochmal ein Kompliment, wie schnell und hilfreich du dich in diesem Forum presentierst. Da ich bereits in Excel sehr positive Erfahrungen mit VBA machte werde ich mich mal in VBA-Script von TC einarbeiten. HPGL scheint mir da zu weit von meinen Ambitionen positioniert zu sein. VG Werner Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Zahnlücke Mitglied Offsetdrucker
Beiträge: 24 Registriert: 26.11.2007 TurboCAD V, 12.5, Konstruktionspaket, Windows XP
|
erstellt am: 13. Nov. 2008 12:37 <-- editieren / zitieren --> Unities abgeben:
Ich habe nun die Lösung durch VBA gefunden. Allerdings dauert die Verarbeitung bei einer grossen Anzahl Linien sehr lange, da hier mit komplexen Objekten gearbeitet wird. Was das SDK anbelangt, so bin ich absolut endtäuscht, den nur schon die Dokumentation glänzt mit zahlreichen verweisten Links und eine vernünftige Programieroberfläche habe ich nicht finden können. Aber für solche kleinen Projekte tut es ja der Makrorekorder indem man ein paar Zeilen verändert. Im Anhang das Makro, welches 100 Linien mit zunehmendem Abstand und Linienbreite zeichnet. Ich habe es als Textdatei hochgeladen, da anscheinend keine TC-Makros direkt hochgeladen werden können. Es kann im Makrorekorder einfach mit Copy & Paste eingefügt werden. Viele Grüsse Werner [Diese Nachricht wurde von Zahnlücke am 13. Nov. 2008 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
ibruethsch Mitglied Bauingeniuer
Beiträge: 80 Registriert: 18.10.2006
|
erstellt am: 13. Nov. 2008 19:19 <-- editieren / zitieren --> Unities abgeben: Nur für Zahnlücke
Hallo wenn Du in Excel VBA Programmieren kannst, dann kannste TC doch von Excel aus steuern. ich finde ja, das VB-Script wegen dem fehlenden Debugger eine echte Zumutung ist. (Wie schön das die alte vba.dll aus TC 10 heute immer noch läuft ;-) ohne VBA hätte ich mich von TC schon trennen müssen. Gruß Bernd
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Zahnlücke Mitglied Offsetdrucker
Beiträge: 24 Registriert: 26.11.2007 TurboCAD V, 12.5, Konstruktionspaket, Windows XP
|
erstellt am: 13. Nov. 2008 23:16 <-- editieren / zitieren --> Unities abgeben:
Hallo Bernd, leider ist es immer wieder ein grosser zeitlicher Aufwand, die anwendungsspezifischen Objekte kennen zu lernen und mit den entsprechenden Methoden darauf zuzugreifen. Da mir die Programmierung auch nicht ganz so leicht fällt, werde ich lieber nach anderen Lösungen suchen und nur in "Notfällen" VBA einsetzen. Vermutlich gibts auch in TC einen Weg um dieses Problem elegant zu lösen. Nur da ist eben mehr Know-How gefragt als mir z.Z. gegeben ist. Viele Grüsse Werner
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Zahnlücke Mitglied Offsetdrucker
Beiträge: 24 Registriert: 26.11.2007 TurboCAD V, 12.5, Konstruktionspaket, Windows XP
|
erstellt am: 16. Nov. 2008 12:19 <-- editieren / zitieren --> Unities abgeben:
Nach weiterem suchen nach Lösungen ohne Programmierung habe ich zwei weitere Ansätze entdeckt, welche jedoch nicht ganz so flexibel sind. Die Erste wäre, Linien in gleichem Abstend anzuordnen und in den Kameraeigenschaften "Perspektivische Ansicht" anzuklicken. Wenn nun die Grafik nach dem Sperren der y-Achse gekippt wird, so ist ein Trapez mit Linien in zunehmender Breite sowie Abstand zu sehen. Dies könnte als JPG-Bild gespeichert und mit einem Bildbearbeitungsprogramm nach Wunsch geschnitten werden. Die Zweite wäre, mit radialem Einfügen die gewünschte Anzahl Linien in einem Quadranten eines Kreises mit 0 Grad Drehung einzufügen und diese danach mit Ausrichten oben richtig anzuordnen. Leider wird dabei die Linienbreite immer gleich bleiben und auch die Zunahme der Abstände verhält sich nach einer Funktion von Pi. Vielleicht hat ja jemand weitere, bessere Ideen, welche mit TC-Funktionen möglich wären. Solche Übungen bringen doch immer wieder neue Erkenntnisse und somit wird auch die Arbeit mit TC effizienter. VG Werner Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Beagle Mitglied Dipl.-Ing. Verpackungstechnik
Beiträge: 6 Registriert: 23.03.2004
|
erstellt am: 19. Dez. 2008 16:25 <-- editieren / zitieren --> Unities abgeben: Nur für Zahnlücke
Ich habe noch einen Ansatz, der nach meinem kleinen Test wohl auch für Dich umsetzbar wäre: 1. Erzeuge ein 3D-Gitter (2 Zahlenreihen in Y-Richtung dürften ja reichen, für X nach Wunsch). 2. Erzeuge nach Deiner Formel die Zahlenreihe tabellarisch (bspw. per Excel). 3. Kopiere diese Reihe einfach in die Tabelle des 3D-Gitters. 4. Kopiere in die Z-Koordinate des Gitters abwechselnd 0,1,... damit das Gitter ein Relief wird (auch einfacher per Excel). 5. Explodiere bis zu den Linien und platziere alles wieder auf der Arbeitsebene. Ob das schneller als Dein Makro ist, kann ich Dir aber net sagen. mfg, Frank
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Zahnlücke Mitglied Offsetdrucker
Beiträge: 24 Registriert: 26.11.2007 TurboCAD V, 12.5, Konstruktionspaket, Windows XP
|
erstellt am: 20. Dez. 2008 06:10 <-- editieren / zitieren --> Unities abgeben:
Hallo Frank, danke für deine kreative Lösung. Ich werde das noch ausprobieren, obwohl ich inzwischen mit dem Makro mein Ziel erreicht habe. Auch was das PDF anbelangt, so habe ich mit dem direkten Export aus TC die besten Ergebnisse erreicht. Ich habe bereits einen Offsetdruck meines Testcharts gemacht und bin absolut begeistert mit der erreichten Qualität. In einem 1. Versuch machte ich noch den Fehler, gewissen Linien keine Breite zuzuweisen. Respektive die Breite betrug den Wert 0. Dies führte zwar bei einem Proof zu einem gewünschten, wenn auch in der Auflösung mässigen Resultat, doch im Offsetdruck waren diese Linien matürlich die feinsten welche der Belichter auflöste und somit zu dünn und kaum sichtbar. Nun werden Linien immer definiert um keine Überrachungen mehr zu erleben. Ich habe meinen Teil gelernt und TC ist mir inzwischen schon ein bisschen ans Herz gewachsen, denn es offenbart so viele tolle Möglichkeiten, welche immer wieder zu Aha-Erlebnissen fühen. VG Werner Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |