Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

GetRect


...

Prompts the user to click 2 points on the active plan to define a rectangle and returns the coordinates in p1 and p2.

...

    1. Create a New Form application
    2. Add a button to the form
    3. Add PlanSwift to reference (Planswift9_tlb in the uses)
    4. Copy code to button onclick event


API Calls

Delphi

Code Block
languagedelphi
themeRDark
firstline1
titleUsing PlanSwift Object Model
linenumberstrue
collapsetrue
// PlanSwift Code:
var
  x1, x2, y1, y2: double;
begin
  if GetRect(x1, y1, x2, y2, 'Click each corner of a rectangle.') = 1 then
    begin
      Showmessage('Draw rectangle here');
    end
  else
    begin
      Showmessage('Canceled');
    end;
end;

//FreshDesk Code:
procedure TForm1.psGetRect(Sender: TObject);
var
  ps: IPlanSwift;
  Est,sect,Area: IItem;
  psline: ILine;
  pt1,pt2: IPoint;
begin
  //Get Planswift Interface
  ps := CoPlanswift.Create;
  //Place planswift into update mode
  ps.BeginUpdate;
  // Get the Takeoff Folder (Estimating Tab in Planswift);
  Est := ps.GetItem('Job\Takeoff');
  //Create a New Area Item in the Estimating Tab
  Area := Est.NewItem('Area','Get Rect Demo');
  //Create a new Section for the Area
  sect := Area.NewSection('Get Rect Demo Section');
  //Call the Get Rect functions
  psline := ps.GetRect('Draw Area');
  //Get the two points from the iLine Returned by the GetRect function
  pt1 := psline.Point1;
  pt2 := psline.Point2;
  //Add Points to section to create a box
  sect.NewPoint(pt1.X,pt1.y);
  sect.NewPoint(pt2.X,pt1.y);
  sect.NewPoint(pt2.X,pt2.y);
  sect.NewPoint(pt1.X,pt2.y);
  sect.NewPoint(pt1.X,pt1.y);
  //EndUpdate;
  ps.EndUpdate;
  //Free the Planswift Interface
  ps := nil;
end;

C#

Code Block
languagec#
themeRDark
firstline1
titleUsing IItem Object Model
linenumberstrue
collapsetrue
public class PlanswiftApi
{
    private PlanSwift Planswift { get; }
    public PlanSwiftApi()
    {
        Planswift = new PlanSwift();
    }
}


Code Block
languagec#
themeRDark
firstline1
titleUsing PlanSwift Object Model
linenumberstrue
Coming soon


VB/VBA (OLE)

Code Block
languagevb
firstline1
titleUsing IItem Object Model
linenumberstrue
Coming soon


Code Block
languagevb
firstline1
titleUsing PlanSwift Object Model
linenumberstrue
Coming soon