Jump to content

Welcome to eMastercam

Register now to participate in the forums, access the download area, buy Mastercam training materials, post processors and more. This message will be removed once you have signed in.

Use your display name or email address to sign in:

Recommended Posts

I want to do the code again and again stop just when user hit escape. Here is my code

 

   string  lvlname125 = "072 - BEARING 3.18 HOLE";
	  int LVL = LevelsManager.GetLevelNumber(lvlname125);
	    if (LVL < 0)
	    {
		    bool rest = LevelsManager.SetLevelName(125, lvlname125);

		 }

	    Point3D pt = new Point3D(0, 0, 0);
	    int LVL1 = LevelsManager.GetLevelNumber(lvlname125);
	    bool res=SelectionManager.AskForPoint("test",PointMask.EndPoint,ref pt);



	  ArcGeometry cir = new ArcGeometry(1, pt, 10, 360, 0);
	  cir.Level = LVL1;
	    cir.Color = 75;
	    cir.Commit();

 

Thanks

Link to comment
Share on other sites

Something like this?

 

It will keep prompting the user to "Select circle center point..."

And for each point they pick it will create a circle there.

If they press the ESC key, the "create circle" loop will exit

 

 

public override MCamReturn Run(int param)

{

string levelName = "072 - BEARING 3.18 HOLE";

PointMask pointMask = PointMask.EndPoint; // or PointMask.Sketch, etc.

int circleCount = CreateCircles(levelName, pointMask);

MessageBox.Show(

string.Format("Created [{0}] circles.", circleCount.ToString(CultureInfo.InvariantCulture)),

"Create Circles",

MessageBoxButtons.OK,

MessageBoxIcon.Information);

 

return MCamReturn.NoErrors;

}

 

/// <summary> Creates circles at the user selected point positions. </summary>

///

/// <param name="levelName"> The name of the level to place the circle on. </param>

/// <param name="pointMask"> The point mask type to be used. </param>

///

/// <returns> The number of circles that were created. </returns>

public int CreateCircles(string levelName, PointMask pointMask)

{

int circleCount = 0;

int levelNumber = LevelsManager.GetLevelNumber(levelName);

if (levelNumber < 0)

{

bool rest = LevelsManager.SetLevelName(125, levelName);

}

 

Point3D pt = new Point3D(0, 0, 0);

// Loop until the user aborts...

bool result;

do {

result = SelectionManager.AskForPoint("Select circle center point...", pointMask, ref pt);

if (result)

{

ArcGeometry cir = new ArcGeometry(1, pt, 10, 360, 0);

cir.Level = levelNumber;

cir.Color = 75;

cir.Commit();

circleCount ++;

}

} while (result);

 

return circleCount;

}

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.

Join us!

eMastercam - your online source for all things Mastercam.

Together, we are the strongest Mastercam community on the web with over 56,000 members, and our online store offers a wide selection of training materials for all applications and skill levels.

Follow us

×
×
  • Create New...