-
Posts
2,825 -
Joined
-
Last visited
Content Type
Profiles
Forums
Events
Articles
Marionette
Store
Posts posted by Dieter @ DWorks
-
-
@GioPet: I'm very interested in what's not working and want to find out together what needs to be done to get it to work. I would love to add it to DLibrary once we have the solution.
It's what DLibrary is for: wrapping VS and avoid all weird stuff in it, making it easier to work with objects etc...
-
LObject isn't for the last object that was created:
Function LObject returns a handle to the last object in the first layer of the active document.
Use LNewObj, which is exactly to get the last created object:
Returns a handle to the last object created by a VectorScript function call during the current script execution.
-
I was ungrouping a pdf today, which really is big, and some part isn't 'drawn'. It's really weird, as I can see two rectangles added on the area that does got drawn. Is there any limit on the size or object count when ungrouping a pdf? Note that it's a vector based pdf.
-
Dieter,
thanks for pointing that out.
I can see what you mean when you say it's easier to create an object rather than editing it.
So I resolved it creating of the object with insertion point but, for this particular plug-in I worked on, the position of some of the objects is calculated in relation to the size/dimensions/position of previously created objects and in some instances it becomes easier to Duplicate+offset rather than figuring out the new insertion point.
thank you all for all the tips.
G
I see what you mean. My DLegend plugin also creates the objects first, because I arrange them depending on their size, specially for the texts. What I do is create them at the (0, 0) point, then do the math, and then move them to their location. This is done with a for loop, as I keep the handles in an array.
-
The second is correct. I'm using this. You can look at DLibrary: https://bitbucket.org/dieterdworks/vw-dlibrary/src/77b4aad5d060ef573db4f172653b8feadd24e74f/dlibrary/vectorworks.py?at=master&fileviewer=file-view-default in the Vectorworks module.
-
Just use ForEach... with Criteria, should be simple.
Be aware that you can check out developer.vectorworks.net to see the function reference.
-
If you need multi-core support, then don't use Vectorscript. It's not meant to do such heave stuff....
-
VW doesn't store them as 'mm'. It will give you the values in the document units, whatever they may be, and it will do convertions behind the scenes to store the values....
-
What you may not be aware of is, that if you place most of your objects to be set to their class settings, you can override these class settings in the class popup in your sheet layer viewports. So not only can you then change the fills, hatches and textures etc but you can, selecting a sheet layer viewport in the Object Info Palette, Advanced Properties choose to show or hide wall components.
This means, at schematic design, you can use the components for 3D rendering, but turn them off in your plans to keep them simple, and turn on a sketch style for the hand drawn look. Then when you advance to the next stage, you can turn the components back on, and voila! They are back. Hope that helps.
One of the main reasons to always use attributes by class!
-
If I was able to set the indicator of the bounding box at the center, then I could easily combine the variables (previously entered by the user) to set position, width and height of the objects by using the duplicate command.
Why using the duplicate command? Just create a function that will create the object, and call that in a loop with a different insertion point.
In VS, it's always easier to create an object than to edit it. Not that editing is that hard, creating is just simpler.
I don't know how your code is, but the placement and creation of objects usually don't go together, they are two different things, so if you split them in your code, it will be easier.
Maybe if we know what the parameters are and how you decide what the object is and how they are placed, then we could propose other solutions for you?
-
Still I think this is a Bug, or a Feature Request in VW terms.
With the Reshape Tool you can edit the Boundary but not the Modifiers.
For Example, you want to change your Stair Opening, you have to go to the
Edit Modifiers - where the context will be hidden again, so you are blind and
can't snap to anything.
You have to edit Modifiers, delete your Shape, go back out of edit Mode,
redraw the new one on do the Add/Clip Surface again.
Editing Slabs has to work like with Symbols, Extrudes, .... with visible Context.
Just draw the shape of the hole on top of the slab, and then subtract that shape from the slab, it's like subtracting two shapes....
-
The Stair Tools are the next best thing to useless IMHO. The 2D Graphics remain an unprofessional blight and a shame for a programme
Can't agree on that. You can create great looking stairs in 2D!:
-
I think this is the problem that marionette is trying to solve. Unfortunately there are not enough developers to make the parts and pieces that everyone so desperately needs.
Oh please, Marionette is just Python in a graphical jacket. I would be more than happy to create Marionette components from my DLibrary DLibrary library, which is great for building plugins for Vectorworks.
It just tries to get people into programming their own stuff....
-
Thanks for the response Dieter.
I guess it would be good to add them to the dlibrary.
Unfortunatley, I am very new to coding, having just taught myself python over the last couple of months through the plethora of free online tutorials.
Coming from a vectorscript background many concepts of object orientated programming have been hard to grasp. Like classes and abstract classes!? In saying that I really appreciate your library you've shared and I have been skimming over your code there trying to figure out what each call does etc, and going over my own notes. And I'm slowly learning. I only mention this because I know you've been mentioning to me to look at your library (in my last couple of posts) Appreciate your help.
In between learning python I have tried to get into git/version control and that too is a bit over my head.. [pull requests?!commits!?] I guess in time I'll wrap my head around it.
Thanks again
Tui
That's no problem. I also learned Python over the last year and a half. though I have a lot of experience with other OO languages. If there are things you don't understand, then ask, I'll help out, even add more comments in code for things that aren't clear. I'm also busy on getting documentation for dlibrary, so please tell all problems, create issues on the public issue tracker, so that there can be examples and docs created for the specific problems you and others have with it.
EDIT: Ow, and I do believe that there can be more learned by doing things yourself, that's why I don't always deliver the solution right away, so please go ahead and try, then I, and others, can comment on your code on the specific things you have troubles with, instead of pages of how to program in general. Even if the code doesn't work, or if your code is just build out of comments that tell what you want to do....
-
But in which way does the Floor Object differ from any normal Extrude ?
Because it's a hybrid object and will be shown in 2D plans. An extrude only shows an outline in plan view....
-
Why do this? The benefits are that there no longer are wall, slab, stair, roof etc component classes, just material and finishes classes. Also these classes can relate directly to my finishes schedules.
We'll, I also tried it, but in the end, it's still better to have those 'material' classes duplicated per context, as you can then change their attributes in viewport overrides if needed, plus being more specific in the criteria in reports and schedules. It makes it way easier. A good class structure and a nice setup library makes this so easy to work with....
-
Next question, Slab Styles.
So far I tend to set all my Styles and Plugin Symbols to have everything assigned
by Component and Class to keep everything "parametric".
I realized that will limit to 2,5D Materials for the Slab case.
Do you use Material by Object, to assign different (wall) Materials to the vertical
Sides or any other tricks in practice ?
I always use attributes by class, as you can control everything by it and in the long run, your far better off. Imo they should ban attribute settings and only allow by class (except for some cases).
Why would 'by component' limit your 2.5D materials? in 2D, you see the attributes of the class of the object itself, in 3D and sections, you will see the components' attributes.
-
Is the Floor Object the "Unstyled Wall" under the Slabs ?
Nope. The floor object is the old slab, and you can create it through one of you menus. The 3D part is just the extruded 2D part.
-
Great idea of using a slab for counters MK. I'll have to give that a whirl.
I find the floor object better for counter tops, much easier and faster, I have always used it for counter tops.
-
I think I learned how to edit Slabs from a tutorial.
Like elsewhere, double clicking on a Slab to go into edit mode (like a Symbol),
and boom, everything else is invisible and nothing to snap or orient anymore.
you can edit the shape of a slab by selecting the slab, then select the edit polygon tool from your basic tool pallet, then you don't need to go into the edit mode...
-
2. They are much easier to edit than extrudes using add surface and clip surface. (To cut stair holes you can draw a rectangle and clip surface.)
OK, trick #1
I would not have expected that option (2D tool on 3D Object)
Seems to work fine.
Slabs aren't 3D objects, they are hybrid objects, like in 2D and 3D at the same time.
-
Yes,
neither my projects nor my workflow may be compatible with VW in general.
But does someone use Slabs and is happy or even convinced of Slabs because
of things, workarounds or tricks I don't know so far ?
Yes! I'm very happy with slabs, they speed up the work, make great floor plans (because of the fill) and I get my sections almost complete for the first phases of the project. There are no real tricks to it. There are more tricks and workaround you need to know for the walls.
-
If you have a Slab and want to get rid of it by CMD+U, you will not get a simple
Extrude as you expect but a Floor Object. Bottom Z in OIP is shown relative to
the active Layers Story Height !?
If you CMD+U the Floor Object, you will at least get your 2D boundary object.
But in 2016 it will jump in Height to World Z 0.00, when you were on a Layer
with a Story Height.
VW has Z problems in different areas, especially related to stories. If you want to get the extrude, just go to edit shape mode, copy it, go back from the edit shape mode, past it, extrude it, change height if needed.
-
In 2016 you still can't see your environment when in Slab Editing Mode.
Means you have to draw your Stair Holes, CMD+X, before you edit the Slab and
need to paste in.
For changes you have to Edit Slab and delete the previous modifying geometry
before pasting the new one, otherwise you will forget which geometry is needed
and which not.
You can just add and subtract shapes without going into the 'edit slab holes' mode. But yeah, I also hate it to have artefacts of previous adds/subtractions, so I also delete all and redo from time to time, though I don't have to add/subtract that many things, except for the door/window openings.
Imo, we shouldn't need to be able to do this, at least not the subtracting, a slab should make the holes itself through priority based stuff, so if a wall is intersecting it, cut the slab.... This is already on the wish list.
Ungroup pdf, part not drawn?
in Architecture
Posted
Nope, the part that is missing is definitely vector based graphics. The weird part is that some dimensions still are there. And the extra rectangle is just around the part that get's drawn correctly. The weird thing is that at the right edge, where it seems to have stopped rendering, there are thousands of objects on that line, so I guess VW has troubles getting them to the correct position....