this is probably easier than reading the English language to most of you folks, but I'm stumped. What I'm trying to do is extract the start and end angles from the following autocircle (by the way, this is 4.2 MR1) and then swap them
At this point, I cannot get anywhere with this. I tried to simplify my program and statically set the start angle of the autocircle. I can't get that to work either, so maybe one of you folks knows how to do this?
Private Sub cmd_Execute_Click()
Dim DMISApp As Object
Set DMISApp = CreateObject("PCDLRN.Application")
Dim DMISPart As Object
Set DMISPart = DMISApp.ActivePartProgram
Dim Feature As String
Feature = txt_Feature.Text
Dim StartAng As Double
Dim EndAng As Double
Dim Cmds As Object
Set Cmds = DMISPart.Commands
Dim Cmd As Object
'GET RID OF THIS NEXT LINE WHEN YOU COMPILE
Feature = "CIR3"
For Each Cmd In Cmds
If Cmd.ID = Feature And Cmd.Type = AUTO_CIRCLE Then
MsgBox (Cmd.StartAngle)
Cmd.PutText 15, StartAngle, 0
Cmd.ReDraw
End If
Next Cmd
I have never monkeyed with auto features through automation. Have you tried exporting a program consisting of one autocircle as a .bas and looking at it?
in case anyone is interested...I wrote a script to flip auto circles around because the original release of PCDMIS 4.2 will sometimes take a program that was written in a prior version and flip the circles. It looks like this was fixed in MR1, but I thought it would be fun to try to write the code anyways. This is my first real automation script, so if you see any flaws with it, please let me know. Otherwise, enjoy!
Option Explicit
Private Sub cmd_Execute_Click()
Dim DmisApp As Object
Dim DmisPart As Object
Dim Cmds As Object
Dim Cmd As Object
Dim tStartAng As String
Dim tEndAng As String
Dim Direction As String
Dim Count As Integer
Dim Feature As String
Dim Flag As Boolean
Set DmisApp = CreateObject("PCDLRN.Application")
Set DmisPart = DmisApp.ActivePartProgram
Set Cmds = DmisPart.Commands
Feature = txt_Feature.Text
pic_Output.Print "Searching for " & Feature & "..."
Flag = False
For Each Cmd In Cmds
If Cmd.Type = AUTO_CIRCLE And UCase(Cmd.ID) = UCase(Feature) Then
yes, I wrote this as a separate app that runs alongside PCDMIS. txt_feature is a textbox and pic_output is a picturebox. I only did that so that the user has a little more control over what is going on and so that I would be able to output to the picturebox.