OberonPlace.com Forums  

Go Back   OberonPlace.com Forums > Corel User Forums > CorelDRAW > Macros/Add-ons

Reply
 
Thread Tools Search this Thread Display Modes
  #1  
Old 10-11-2017, 12:21
mtracy mtracy is offline
Member
 
Join Date: Jun 2012
Location: Niceville, Florida
Posts: 30
Default How to rotate an open curve

Looking for vba to rotate an open curve in such a way that the end nodes are on a horizontal plane. Not align the nodes per say, but rotate the shape based on the position of the nodes on the Y axis.
__________________
Myron Tracy
Accent Signs
Reply With Quote
  #2  
Old 10-11-2017, 13:36
mtracy mtracy is offline
Member
 
Join Date: Jun 2012
Location: Niceville, Florida
Posts: 30
Default

Got it.
https://community.coreldraw.com/sdk/...rizontal-plane
__________________
Myron Tracy
Accent Signs
Reply With Quote
  #3  
Old 10-11-2017, 15:56
mtracy mtracy is offline
Member
 
Join Date: Jun 2012
Location: Niceville, Florida
Posts: 30
Default

Ok, just for giggles here's what I got. Find the radius of any arc.

With the shape tool select the nodes that make up the Arc or curve segment, run the macro and it tells you what the radius is.

Sub FindRadius()
Dim n As Node, x1 As Double, y1 As Double, x2 As Double, y2 As Double, os As ShapeRange, x#, y#, w#, h#
ActiveDocument.Unit = cdrInch
Optimization = True
ActiveSelection.Copy
ActiveLayer.Paste
Set os = ActiveSelectionRange

If os.Count <> 1 Then MsgBox ("Select one shape and run macro again!")
ActiveShape.Curve.Nodes.First.GetPosition x1, y1
ActiveShape.Curve.Nodes.Last.GetPosition x2, y2
If x2 <> x1 Then k = -1 Else myangle = -90: GoTo here:
With os(1)
.RotationCenterX = x1
.RotationCenterY = y1
End With
myangle = Atn((y2 - y1) / (x2 - x1)) * 180 / 3.14159265358979
here:
os(1).Rotate k * myangle

os.GetSize w, h
MsgBox Round((h / 2) + (w * w) / (h * 8), 3)
ActiveSelection.Delete
Optimization = False
Application.Refresh

End Sub
__________________
Myron Tracy
Accent Signs
Reply With Quote
Reply


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
Incorrect distribution of the arrow on the open curve ajesion Macros/Add-ons 8 05-05-2011 10:21
Macro to rotate first5mins General 2 21-01-2010 14:57
macro for break curve and join curve mgmcs Macros/Add-ons 2 26-05-2006 22:01
Open form when i open my template diltech CorelDRAW/Corel DESIGNER VBA 1 10-01-2005 16:46
Special Rotate ddonnahoe CorelDRAW/Corel DESIGNER VBA 7 26-04-2004 12:20


All times are GMT -5. The time now is 07:04.


Powered by vBulletin® Version 3.8.1
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.
Copyright © 2011, Oberonplace.com