Jump to content


  • Posts

  • Joined

  • Last visited


2 Neutral

Personal Information

  • Location

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. As you can see, sometimes we dont have opened or covered terrace on the apartments. That is the point if it is going to be easier this worksheet without some of the areas. That was the reason of asking on the other topic to create other row showing as a zero the empty cell with the tool space and custom parameters.
  2. Hi Pat, I am going to update here the file here. As you can see, the worksheet have differents rows and the 1-3 columns are repeating all time, and the only different is the area. On the excel file we show the areas in columns, so if i could do the same in the worksheet it would be easier to link the worksheet in txt file to an excel file. Sample.vwx Sample.vwx
  3. That is the idea. As you can see below, the worksheet shows areas of covered and opened terraces. On the apartment 3.A, i have areas of both types, but on the others i have covered or opened areas, not both. If it is possible to create a"virtual" subrow showing the other one?
  4. I dont know really need Escalera 1 and 2, it is another filter but it is not necessary, i just need the level and the letter. It was a sample about how i need to show the columns of the areas for each apartment.
  5. Hi guys, I would like to know if it is possible to indicate as zero a parameter in a worksheet when they are not on the drawing. I dont want to clear a row because i have linked that cell to another one and if its not on the drawing, that cell dissapears and the link is taking the next row. Thanks guys,
  6. Hi guys, I would like to organize in columns like below but i just can indicate the total area of each space. I would like that the 3rd column would be usabe area and the 4th the buildable area, for example. The criteria is this: I was trying to make different formulas but they dont work:
  7. The idea is to know if it is possible to combine in a cell of the database areas, classes and spaces in the same column but i couldnt do it. If i could fix them i think it is possible to do it.
  8. Good morning, I dont know if someone can help me with this topic. I have create a worksheet organized by spaces to calculate areas, such us, buildable areas, useful areas, exterior areas. My question is if it is possible to organize them by columns because I have calculated them by rows but i would to simplify the worksheet. Sample of exterior areas: Sample of buildable areas: The idea is to have something like below because then I export as txt format and i can link to an excel file automatically:
  9. Hi Jesse, I was checking the differents files and i checked that when you activate the visible mode on the layer on the navigation menu the script works.
  10. Hi Jesse, I have attached some images. The first and second images show the script working properly, all the elements are located in a one layer and the script works. The third and fourth images show the script without working. I have copied all the elements to others layers and it doesnt work. I am using Vectoworks 2020 and i am using a personal workspace but i have the same problem when i am working on the architect workspace. When i am working on personal drawings with a lot of information it doesnt work either.
  11. Hi guys, I dont know why it is showing this message when i am using the scrip.
  12. Hi guys, I write you because in a newer version of vectorworks I cant run the scrip properly and I dont know why. I have used Pat´s scrip in VW2015 but in version 2020 I have the problems of selecting the layers, the only option I can do is selecting all/none. Can you help me, guys? PROCEDURE LB_LayerList; VAR B1:boolean; dialog1 : LongInt; kImageCheck,kImageBlank,kImageSheet,kImageView : Integer; LayerArray : DYNARRAY[] of String; NumLayers, N1, CheckedLayers : Integer; FirstObjectToCopy : Handle; ThisObjectToCopy : Handle; LayerToCopyFrom : Handle; LayerNameToCopyFrom : String; ThisLayer : String; ThisDuplicate : Handle; {-----------------------------------------------------------------------------} FUNCTION GetPlugInString(ndx :INTEGER) :STRING; BEGIN CASE ndx OF {Static Text} 3001: GetPlugInString := 'OK'; 3002: GetPlugInString := 'Cancel'; 3003: GetPlugInString := 'Layers'; END; END; {----------------------------------------------------------------------------} PROCEDURE Dialog_Setup; VAR cnt : INTEGER; BSB : Boolean; BEGIN dialog1 := CreateResizableLayout (GetPlugInString(3003),TRUE,GetPlugInString(3001),GetPlugInString(3002),TRUE,TRUE); CreateLB(dialog1,4,34,15); CreatePushButton(dialog1,5,'All'); CreatePushButton(dialog1,6,'None'); SetFirstLayoutItem(dialog1, 4); SetBelowItem(dialog1,4,5,0,0); SetBelowItem(dialog1,4,6,0,0); SetRightItem(dialog1,5,6,0,0); SetEdgeBinding(dialog1,5,False,False,False,True); SetEdgeBinding(dialog1,6,False,False,False,True); END; {-----------------------------------------------------------------------------} PROCEDURE Dialog_Handler(VAR item :LONGINT; data :LONGINT); Var ColNum,TempI,I : Integer; SheetTypeIcon : Integer; BSB : Boolean; BSS : String; LayerHand : Handle; LayerName,SelectedIconString : String; SheetIconNumber,SelectedIconNumber : Integer; BEGIN CASE item OF SetupDialogC: BEGIN {These need to be declared as globals otherwise they won't work outside of setup.} kImageCheck := AddLBImage(dialog1,4,1,11022); kImageBlank := AddLBImage(dialog1,4,1,11023); kImageSheet := AddLBImage(dialog1,4,1,11024); kImageView := AddLBImage(dialog1,4,1,11025); ColNum := InsertLBColumn(dialog1,4,0,'Copy To',50); BSB := SetLBControlType(dialog1,4,ColNum,3); BSB := SetLBItemDisplayType(dialog1,4,ColNum,1); BSB := SetLBColumnWidth(dialog1,4,0,0,20); {ColNum := InsertLBColumn(dialog1,4,0,'',50);}{This crashes VW} ColNum := InsertLBColumn(dialog1,4,1,'Layer Name',100); BSB := SetLBControlType(dialog1,4,ColNum,1); BSB := SetLBItemDisplayType(dialog1,4,ColNum,3); BSB := SetLBColumnWidth(dialog1,4,1,1,200); ColNum := InsertLBColumnDataItem(dialog1,4,0,'Checked',kImageCheck,-1,0); ColNum := InsertLBColumnDataItem(dialog1,4,0,'UnChecked',kImageBlank,-1,0); {Traversing from LLayer by PrevObj doesn't work with Sheet Layers} LayerHand := FLayer; I := 0; While LayerHand <> NiL do Begin If GetObjectVariableInt(LayerHand,154) = 2 then SheetTypeIcon := kImageSheet else SheetTypeIcon := kImageView; ColNum := InsertLBColumnDataItem(dialog1,4,1,GetLName(LayerHand),SheetTypeIcon,SheetTypeIcon,0); TempI := InsertLBItem (dialog1, 4, I, GetLName(LayerHand)); BSB := SetLBItemUsingColumnDataItem (dialog1, 4, I, 1, ColNum); BSB := SetLBItemUsingColumnDataItem (dialog1, 4, I, 0, 1); I := I+1; LayerHand := NextObj(LayerHand); End; EnableLBColumnLines(dialog1,4,True); END; 1: BEGIN NumLayers:=GetNumLBItems(dialog1,4); CheckedLayers:=0; Allocate LayerArray[1..NumLayers]; For I := 1 to NumLayers do Begin BSB := GetLBItemInfo(dialog1,4,I-1,1,LayerName,SheetIconNumber); BSB := GetLBItemInfo(dialog1,4,I-1,0,SelectedIconString,SelectedIconNumber); If SelectedIconString = 'Checked' then Begin CheckedLayers := CheckedLayers+1; If SheetIconNumber = kImageSheet then LayerArray[CheckedLayers]:=LayerName; If SheetIconNumber = kImageView then LayerArray[CheckedLayers]:=LayerName; End; {If} End; {For} End; {1} 5: Begin For i:=0 to GetNumLBItems(dialog1, 4)Do Begin BSB:=SetLBItemInfo(dialog1,4,i,0,'Checked',kImageCheck); End; {For} End; {5} 6: Begin For I := 0 to GetNumLBItems(dialog1,4) do Begin BSB:=SetLBItemInfo(dialog1,4,i,0,'Unchecked',kImageBlank); end; {For} end; {6} END; {Case} BSB:=RefreshLB(dialog1,4); END; {Procedure} {-----------------------------------------------------------------------------} function ResourceIsOK :BOOLEAN; BEGIN IF SetVSResourceFile('IP Resources') THEN ResourceIsOK := TRUE ELSE Message('The "IP Resources" file was not found.'); END; {-----------------------------------------------------------------------------} BEGIN {Main} FirstObjectToCopy := FSActLayer; LayerToCopyFrom := ActLayer; LayerNameToCopyFrom := GetLName(LayerToCopyFrom); IF ResourceIsOK THEN Dialog_Setup; IF RunLayoutDialog(dialog1,Dialog_Handler) = 1 THEN BEGIN SysBeep; For N1 := 1 to CheckedLayers do Begin ThisLayer:=LayerArray[N1]; If ThisLayer <> LayerNameToCopyFrom Then Begin ThisObjectToCopy := FirstObjectToCopy; While ThisObjectToCopy <> Nil do Begin ThisDuplicate := CreateDuplicateObject(ThisObjectToCopy,GetLayerByName(ThisLayer)); ThisObjectToCopy := NextSObj(ThisObjectToCopy); End; End; {If} End; {For} END; {If} Wait(1); ClrMessage; END; Run(LB_LayerList);
  13. I have tried to do that but when I work with Database, the reference doesnt indicate the subrow, just indicate the total of the sum value/item. I would like to indice 'Worksheet-1':A4.1 but it doesnt work. I have resolved it creating two record formats, left and right openings and applying the record format manually to the doors and i dont need to reference the file.
  • Create New...