Versions Compared

Key

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

DrawTwoWayLayout

...

Function: DrawTwoWayLayout(const AItem: WideStringconst SpanLine: ILine; const RunLine: ILine; bIncludeFirst: WordBool; bIncludeLast: WordBool; nSpacing: Doubleconst AArea: WideString): WordBool;

...

    • 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 IItem Object Model
linenumberstrue
collapsetrue
procedure TForm1.psDrawTwoWayLayout(Sender: TObject);
var
  ps: IPlanSwift;
  Est,Area,sect,seg: IItem;
  psline,span,run: ILine;
  pt1,pt2: IPoint;
  pg: IItem;
  xscale: Extended;
  S: Integer;
begin
   //Get Planswift Interface
  ps := CoPlanswift.Create;
 
  //Get the Selected Page
  pg := ps.SelectedPage;
  //Get the XScale of the page
  xscale := pg.GetPropertyResultAsFloat('ScaleX',0);
  // 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);
  //Create Line Segment Item
  seg := Area.NewItem('Segment','Draw One Way Demo');
  //input Spacing
  S := StrToInt(inputBox('Enter Spacing','Enter Spacing','24'));
  //Get Span And Run Lines
  Span := ps.GetLine('Draw Span');
  Run := ps.GetLine('Draw Run');
  //Draw TwoWayLayout (Dras Segment lines in one direction)
  ps.DrawTwoWayLayout(Seg.GUID,span,run,True,True,S,sect.guid);
  //Free the Planswift Interface
  ps := nil;
end;


Code Block
languagedelphi
firstline1
titleUsing PlanSwift Object Model
linenumberstrue

C#

Code Block
languagec#
themeRDark
firstline1
titleUsing IItem Object Model
linenumberstrue


Code Block
languagec#
themeRDark
firstline1
titleUsing PlanSwift Object Model
linenumberstrue

VB/VBA (OLE)

Code Block
languagevb
firstline1
titleUsing IItem Object Model
linenumberstrue


Code Block
languagevb
firstline1
titleUsing PlanSwift Object Model
linenumberstrue

Pascal Scripting (OLE)

Code Block
firstline1
titleItem Object Model
linenumberstrue


Code Block
titleRoot Object Model
linenumberstrue

Pascal Scripting

Code Block
firstline1
titleItem Object Model
linenumberstrue



Code Block
titleUsing the PlanSwift Object Model
linenumberstrue