GetLine
Prompts the user to click 2 points on the active plan to define a line then returns the coordinates in p1 and p2.
Returns 1 if the function is successful or 0 if the user cancels.
Syntax:
Procedure: GetLine(const ToolHint: WideString): ILine;
Code Reference:
- Create a New Form application
- Add a button to the form
- Add PlanSwift to reference (Planswift9_tlb in the uses)
- Copy code to button onclick event
API Calls
Delphi
//PlanSwift Code:
var
x1, x2, y1, y2: double;
begin
if PlanSwift.GetLine(x1, y1, x2, y2, 'Click each end of a line.') = 1 then
begin
Showmessage('Draw line here');
end
else
begin
Showmessage('Canceled');
end;
end;
//FreshDesk Code:
procedure TForm1.psBeginUpdateEndUpdate(Sender: TObject);var
ps : IPlanswift;
pg: IItem;
dimension: IItem;
sect: IItem;
psline: ILine;
pt: IPoint;
begin
//Create the PlanSwift Interface
ps := coPlanswift.Create;
//Put Planswift Interface to Update Mode
ps.BeginUpdate;
//Get Selected Page
pg := ps.SelectedPage;
//Call The GetLine Function (See GetLine)
psline := ps.GetLine('Draw Dimension Line');
//Create a New Dimension Item
dimension :=pg.NewItem('Dimension','Demo Dimension Item');
//PageGUID Must be set to the selected page
dimension.SetPropertyFormula('PageGUID',pg.GUID);
//Get The First Piont from psLine
pt := psline.Point1;
//Add Start Point to the Dimension Section
dimension.NewPoint(pt.X,pt.Y);
//Get The Second Point from psLine
pt := psline.Point2;
//Add End Point to the Dimension Section
dimension.NewPoint(pt.X,pt.Y);
//Take Planswift out of Update Mode
ps.EndUpdate;
//Clear Planswift Interface
ps := nil;
end;
C#
public class PlanswiftApi
{
private PlanSwift Planswift { get; }
public PlanSwiftApi()
{
Planswift = new PlanSwift();
}
}
VB/VBA (OLE)