Jump to content

rebu1985

Member
  • Posts

    42
  • Joined

  • Last visited

Posts posted by rebu1985

  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




    image.png.aaeb9580c97657d4fc293e3ac3d26203.png
     

    Sample.vwx

  3. hace 1 minuto, rebu1985 dijo:

    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.
    I have used spaces to create areas, so I am not sure if it is possible to do it with custom parameters. Is it possible to create a"virtual" subrow showing the other one?


    image.png.dcc19edeb3516cdd2da00a4e1325d2ed.png

     

  4. hace 19 horas, Pat Stanford dijo:

    What are the criteria of the two database sections?  If they are basically different subsets of the same type of object then we can get close to what your want.

     

    The main difference will be that you will not be able to get sub-sections of sub-sections. So you will not be able to have one instance of Planta 01 and then one instance each of Escalera 1 and 2 inside of that. But you would be able to have Planta 01 and the 1 or 2 on each line individually (repeated for each subrow).


    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 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. 

    image.png.15eeba44f46d5ba5b3fb940a6967afdb.png

    The criteria is this:
    image.png.72e13285c3617dbf872e97cd0d1dd723.png

    I was trying to make different formulas but they dont work:
    image.png.bc16829522dadbafcaf7e22c0236feab.png

    image.png.1243283e539952ea9d5b2f9cfca77eb5.png
     

  6. 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:
    image.png.3fdfaa9e057cdc882f3d28c809249f75.png 

    Sample of buildable areas:
    image.png.31ee59e6e828faa58b4a504b48ca39b0.png

    The idea is to have something like below because then I export as txt format and i can link to an excel file automatically:

    image.png.02c0047231e350d96b2165e2f7df3a1c.png

    image.png

  7. 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.

     

    Captura1.1.JPG

    Captura1.2.JPG

    Captura1.3.JPG

    Captura1.4.JPG

  8. 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);
     

  9. 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.

  10. Hi guys, 

    I am trying to reference cells from different worksheet to obtain the total of doors in a project. The only way that i know its just create a worksheet an copy all the information from the others worksheets. But i am a bit scared of lossing information when i am going to change something because the cells are not connected between them, they are copied.
     

    I am going to attach some images.

    The image 1 includes cells copied from the database of the others images.

    Captura1-Puertas.JPG

    Captura2-Puertas.JPG

    Captura3-Puertas.JPG

  11. Hi guys,

     

    I have a file A and I have a file B. The file B contains imported layers from file A where all layers are locked because I need to use in Lumion but at the same time it needs to be updated to show the external facade.

    My problem is when i try to change a class, wall, component, etc on file B because i need for Lumion, automatically it is disappearing when the external reference is updated. If it is any way to keep the new changes on the file B without changing by file A external reference updated?

     

    Thanks guys!

  12. Hi guys,

    I would like to know if it is possible to show the information from a layer link in a referenced file. 

    I have a file referenced to another one, where i just want to show the exterior facade. On the other one, the floors are done by layer links because all floors are duplicated.

    But when i open the file and active all exterior elements (wall, windows, doors, etc.), classes, and all layers, it doesnt show it.

  13. Hi guys,

     

    I would like to know if there is anyway to indicate tolerance in walls. When i have created walls in different layers or stories, the front view shows a line between them when they should be aligned.

    You can find below an image of my elevation where i have indicated in yellow the line as partition wall when it should be continuos because they are in the same plane (aligned).

     

    Thank you guys,

    Captura.PNG

  14. Hi guys,

     

    I have create simple rectangles with different start points. You can see below a sample of a rectangle.I would like to create at the same time a square filled in red which shows me the start point of the rectangle.

    I have attached an image which shows different options of start point where i would like to locate the red square.

    I need a reference point on the shape in case i need to rotate, move, etc.

     

    Thank you so much,

     

    PROCEDURE Rectangle;

    VAR     

    bc_ht,bc_wid        : REAL;     

    use_border,result : BOOLEAN;     

    objname                        : STRING;     

    oh,rh,wh                    : HANDLE;     

     

    BEGIN       

    result:= GetCustomObjectInfo(objname,oh,rh,wh);   

     

    IF result THEN BEGIN         

    bc_ht                := PBOXWIDTH;         

    bc_wid            := PLINELENGTH;         

    use_border    := PUSE_BORDER;     

       

    IF use_border THEN

    BEGIN             PushAttrs;             

    FillPat(0);             

    Rect(0,bc_ht/2,bc_wid,-(bc_ht/2));             

    PopAttrs;         

     

    END;     

    END;

    END;

    Run(Rectangle);

     

    Captura de pantalla 2017-11-22 a las 10.43.36.png

  15. Hi Pat,

    I am going to explain it again but you are right. Sorry for my english.

     

    I work in 2d all time and both symbols (floor and elevation) and done in plan view 2d. I would like to show a copy of the respective elevation of the window in top view which i have drawn when i click on the window top plan which i have drawn as well on the  top view.

    I have drawn manually around symbols of 30 windows which their elevations. All of them have records formats so i think the best way as you said in connect them by a field and place a copy of the elevation symbol but i dont know how I can do it.

     

    Thanks Pat,

  16. Hi guys,

     

    I was wondering if it is possible to show on the drawing a symbol which i have created when I click on another symbol or write a name located on the record format of another symbol by a vectorscript.

    I have drawn a basic window shape with some information associated by a record format. At the same time I have drawn the elevation of that window. Both are different symbols. I would like to show on the drawing the elevation when i click on the window by a vectorscript. I have around 20 windows so the idea is to have a general vectorscript to show them or writing something of the record format.

    I have attached below an image of the idea.

     

    Thank you so much guys for your help.

    Captura de pantalla 2017-11-17 a las 9.58.13.png

  17. I found this topic online and I would like to copy in case someone can help me.

    "I would like to see the introduction of Rounding Precision similar to that of Dimensions however for Spaces:

    It is custom here to round off to the nearest square meter however I still want to see when drafting exactly what size the space has with at least an accuracy of 2 decimals."

     

    Im counting manually different areas within spaces to calculate the total square meters in a house and it is not the same value than in my worksheet when VW calculates the total. Is it possible to change it?
    Thanks, xx

×
×
  • Create New...