function OnMenu()
{
var menu = DlxApp.GetMenu(DlxApp.MENU_SCH);
if (menu.IsValid())
{
menu.AddCommand("Pick Object", 100, "Activate the tool to acquire an object. ");
menu.AddCommand("Pick Point", 200, "Activate the tool to acquire the coordinates of a point.");
menu.AddCommand("Pick Segment", 300, "Activate the tool to acquire the coordinates of a line segment.");
menu.AddCommand("Pick Rect", 400, "Activate the tool to acquire the coordinates of a rectangle.");
}
}
function OnMenuUpdateCommand(cmd)
{
switch (cmd.GetCommandId())
{
case 100:
case 200:
case 300:
case 400:
cmd.Enable(true);
break;
}
}
function OnMenuCommand(cmdId)
{
switch (cmdId)
{
case 100:
PickObject();
break;
case 200:
PickPoint();
break;
case 300:
PickSegment();
break;
case 400:
PickRect();
break;
}
}
function PickObject()
{
var doc = DlxApp.GetActiveDocument();
if (doc.IsValid())
{
if ((doc.GetDocumentType() == DlxApp.DOCTYPE_DRAWING) ||
(doc.GetDocumentType() == DlxApp.DOCTYPE_SCHEMATIC))
{
var obj = doc.ToolPickObject("Click on the object.", false);
DlxApp.Printf("Picked object: %s", obj.GetTypeName());
}
}
}
function PickPoint()
{
var doc = DlxApp.GetActiveDocument();
if (doc.IsValid())
{
if ((doc.GetDocumentType() == DlxApp.DOCTYPE_DRAWING) ||
(doc.GetDocumentType() == DlxApp.DOCTYPE_SCHEMATIC))
{
var point = doc.ToolPickPoint(0, 1);
DlxApp.Printf("Point: %.1f,%.1f", point.x, point.y);
}
}
}
function PickSegment()
{
var doc = DlxApp.GetActiveDocument();
if (doc.IsValid())
{
if ((doc.GetDocumentType() == DlxApp.DOCTYPE_DRAWING) ||
(doc.GetDocumentType() == DlxApp.DOCTYPE_SCHEMATIC))
{
var seg = doc.ToolPickPoint(0, 2);
DlxApp.Printf("Segment: p1(%.1f.%.1f) p2(%.1f.%.1f)", seg.p1.x, seg.p1.y, seg.p2.x, seg.p2.y);
}
}
}
function PickRect()
{
var doc = DlxApp.GetActiveDocument();
if (doc.IsValid())
{
if ((doc.GetDocumentType() == DlxApp.DOCTYPE_DRAWING) ||
(doc.GetDocumentType() == DlxApp.DOCTYPE_SCHEMATIC))
{
var seg = doc.ToolPickPoint(0, 2, DlxApp.TOOLPICKPOINT_SHOWRECT);
DlxApp.Printf("Segment: p1(%.1f.%.1f) p2(%.1f.%.1f)", seg.p1.x, seg.p1.y, seg.p2.x, seg.p2.y);
}
}
}
|