Juergens-Workshops.de Forum
Gleichmäßiger Linienverlauf, vielleicht hat einer eine Idee - Druckversion

+- Juergens-Workshops.de Forum (https://forum.juergens-workshops.de)
+-- Forum: Corel Grafik Forum (https://forum.juergens-workshops.de/forumdisplay.php?fid=65)
+--- Forum: Corel Draw (https://forum.juergens-workshops.de/forumdisplay.php?fid=93)
+--- Thema: Gleichmäßiger Linienverlauf, vielleicht hat einer eine Idee (/showthread.php?tid=35012)



Gleichmäßiger Linienverlauf, vielleicht hat einer eine Idee - Isophoton - 31.10.2013

Moin Gemeinde.

Ich habe hier gerade eine immer wiederkehrende Aufgabe, die mich in den Wahnsinn treibt. Denn, leider ändern sich immer wieder die Zeichnungsmaße.

Es geht darum ein Raster zu erstellen. Die horizontalen Abstände sind immer gleich mit 5mm, jedoch die Vertikalen Abstände der Linien ändern sich bedingt durch unterschiedliche Zeichnungsgrößen ständig. :icon_troest:
Es geht aber im Grunde immer darum einen gleichmäßigen Linienverlauf von oben 4mm, nach unten 1mm Abstand hin zu bekommen.

Hat da irgendjemand eine Idee zu wie man so etwas hin bekommt?
Bisher regele ich das "händisch" pi mal Daumen, da es mir schon mathematisch nicht einfallen will wie man das berechnen könnte. Sieht gut aus, nehm ich, aber dauert ewig.

Vielleicht hatte ja jemand schon mal etwas ähnliches :sei_gepriesen:

Besten Dank und Grüße aus dem Weserbergland.

Thorsten


Gleichmäßiger Linienverlauf, vielleicht hat einer eine Idee - norre - 31.10.2013

Hallo Thorsten,
falls ich dich richtig verstanden habe, würde ich das mit einer Überblendung lösen.
Wenn du dann deine Linien an einer Strecke überblendest (rote Linie), kannst du entweder die Anzahl der Schritte eingeben oder darunter den Anstand der Schritte.

Oder sollte das anderst ausschauen, dann lade mal einen Screenshot hoch wie das Endergebnis aussehen soll..


Gleichmäßiger Linienverlauf, vielleicht hat einer eine Idee - Isophoton - 31.10.2013

Hallo Norre.

Ja, ansich schon fast :-).

Nur sollen die Linien eine einheitliche Konturstärke haben, so das es etwa wie das Beispiel unten aussieht...


Gruß
Thorsten


Gleichmäßiger Linienverlauf, vielleicht hat einer eine Idee - Suc - 31.10.2013

keiner antwortet?
Norres PC bestimmt kaputt MrGreen

also Überblendung is immer noch richtig..
halt nur 2 Linien gleicher Strichstärke als Anfang und Endpunkt der
Überblendung nehmen...
so als Beispiel "mal 10 stufig langsame Gerade" bei den
Voreinstellungen der Überblendung anklicken..
darauf kann man dann aufbauen denk ich

freundlich grüsst
Suc


Gleichmäßiger Linienverlauf, vielleicht hat einer eine Idee - norre - 01.11.2013

Suc schrieb:keiner antwortet? Norres PC bestimmt kaputt
Hallo Suc,
stimmt zwar, beim Inet Laptop ist der Bildschirm ausgefallen ;-),
aber ich habe jetzt auch gerade keinen Peil wie man bei einheitlicher Konturstärke die Abstände von 4mm bis 1mm gleichmäßig verkleinern könnte. Das müßte man ja dann mit der Objektbeschleunigung machen? Aber da sind je genaue Eingaben nicht möglich.

Vielleicht willst du ja Alexander Penkin mal anmailen ob er bei seinem Macro HatchFill die Möglichkeit einbaut bei Space einen Anfangs und einen Endwert zu setzen?
http://corelvba.com/index.php?pages=hatch_1

oder schau dir mal das Filmchen ab der MItte dazu an http://www.gdgmacros.com/details.php?toggle1=off&prodId=47#anchor1


Gleichmäßiger Linienverlauf, vielleicht hat einer eine Idee - koter - 01.11.2013

Hallo Thorsten,

mit jeder beliebigen Fläche wird das nicht gehen. Die Breite muß ein Vielfaches von 5mm sein und die Höhe von 2,5mm.

Wenn Du ein Rechteck zeichnest, es auswählst und dann folgendes Makro auführst, werden Breite und Höhe angepasst und das Raster gezeichnet.

Code:
Sub RR4bis1()
    Dim x As Double, y As Double, w As Double, h As Double
    Dim s0 As Shape
    Dim s1 As Shape
    If ActiveShape Is Nothing Then Exit Sub
    ActiveDocument.Unit = cdrMillimeter
    ActiveDocument.BeginCommandGroup "Raster Zeichnen"
    ActiveShape.GetBoundingBox x, y, w, h
    h = Round((h / 2.5), 0) * 2.5
    w = Round((w / 5), 0) * 5
    ActiveShape.SetBoundingBox x, y, w, h
    n = h / 2.5 - 2
    a = (4 - 1) / (n + 1)
    Set s0 = ActiveLayer.CreateLineSegment(x, y + h, x + w, y + h)
    b = 4
    Set s1 = ActiveLayer.CreateLineSegment(x, y + h - b, x + w, y + h - b)
    s0.AddToSelection
    s1.AddToSelection
    ActiveDocument.Selection.Group
    s1.OrderFrontOf s0
    c = b
    For i = 1 To n
        b = b - a
        c = c + b
        Set s1 = ActiveLayer.CreateLineSegment(x, y + h - c, x + w, y + h - c)
        s1.OrderFrontOf s0
    Next i
    Set s1 = ActiveLayer.CreateLineSegment(x, y, x + w, y)
    s1.OrderFrontOf s0
    For i = 0 To w Step 5
        Set s1 = ActiveLayer.CreateLineSegment(x + i, y + h, x + i, y)
        s1.OrderFrontOf s0
    Next i
    ActiveDocument.EndCommandGroup
End Sub

Gruß

koter


Gleichmäßiger Linienverlauf, vielleicht hat einer eine Idee - Isophoton - 01.11.2013

Vielen Dank Euch.

Na, da hab ich mir ja was eingebrockt.

Hab ich doch faktisch noch nie mit Makros gearbeitet, wird wohl Zeit :-).

Ich werde mal kämpfen.... mal schauen was passiert....

BG
Thorsten


Gleichmäßiger Linienverlauf, vielleicht hat einer eine Idee - norre - 01.11.2013

Hallo Koter,

genial - funktioniert :daumen:
und man braucht nicht mal ein Rechteck, jede beliebige Form wird bis an die Aussenkanten aufgefüllt Smile

Ps. dein Text verschieben Macro ist schwer im Einsatz - [Bild: 019.gif]


Gleichmäßiger Linienverlauf, vielleicht hat einer eine Idee - Isophoton - 01.11.2013

Hi Koter!

Nach ein bisschen gebastel hab ich es tatsächlich mit deinem Makro hingekriegt.
Ganz, ganz großartig und vielen unbezahlbaren Dank!!!

Das ist eine extreme Arbeitserleichterung, kann ich gar nicht wieder gut machen :-))).

BG
Thorsten