Syntax

code

Function: GetLine(const ToolHint: WideString): ILine;

Description

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 successfull or 0 if the user cancels.

Code Reference

  • 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

code

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

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;