Jump to content

MarcU

Member
  • Posts

    41
  • Joined

  • Last visited

Everything posted by MarcU

  1. I agree, this would be really great and intuitive, like in AutoCAD. As OZZie says/shows in his screencast: Another very helpful and easyer to realize solution within the existing scale objects tool, maybe as a first step, would be another measuring tool for the new length (see attached screenshot). Why? -> often you have just some random object as a reference length and not a dimension. In this case I find it very unhandy if you: a) first have to measure this reference object outside the dialog, b) then write down the measurment somewhere c) open the scaling dialog d) and then write it in to the dialog manually again. What do other people think about this? What do you think, Jim? I requested this also at Computerworks Switzerland. Would be great to have this soon! Sorry for german dialog - hope it looks similar in the international version. Here how it might look:
  2. Hi Jim, if this helps: attached another example file which illustrates the problem. See instructions inside. There is another thread here for the same issue I guess: https://forum.vectorworks.net/index.php?/topic/47222-texture-not-showing-in-open-gl/#comment-239214 Looking forward to the fix. Thanks in advance for solving this. Open GL Texture problem.vwx
  3. Hi guys I think I have the same or a similar problem here. See description of the problem and instructions inside the attached file. Very strange behaviour: some textures show up, some not, depending on their absolute position. This file is also allready in the service select support-pipeline of Computerworks Switzerland (I think Mr. Moises) with no result yet. Thanks for any help. Open GL Texture problem.vwx
  4. Thanks alot Jim for this verbal "sneek peek" and your thoughts about the coming platform! That allready tells us very much. I can't wait to see the first release. Thanks for keeping us informed once in a while about progress and release-date
  5. Hello everyone. This is actually a call to the headquarter of Vectorworks Inc. As a medium advanced user and marionette-/scripting beginner I would like to make the following suggestion/wish: We need some kind of repository/depot/github kind of platform to share plugin objects / nodes (marionette AND classic vectorscript/python pio's) in a more structured and better searchable way than in this forum. I have something like the Sketchup ruby library depot in mind. If it had some github-like features, at least some versioning possibilty, it also could be used to collaboratively work on/develop plugins. This could either be a private initiative or - better - a platform set up by Vectorworks. It could even be extended to some kind of app store like AutoDesk has it since years: https://apps.autodesk.com/ to sell more complex 3rd party products. Currently I have to filter all plugins, Marionette networks and knowledge about them out of forum posts and other resources spread all over the internet and youtube. This forum is a good start and great for in-depth programming discussions and developement talk but not for collecting, sharing and browsing ready to use or ready to modify plugins and objects. I am convinced that having such a platform and community would also be a great marketing argument for Vectorworks Inc. What do you guys think about this? Really have a look at the Sketchup-plugin site - woudn't it be great to have something like this for VW? In case this would have to be made on a private basis - does anyone have a suggestion for a web application which would provide the above features? Thanks in advance for any comments or answers! Markus UPDATE, only some hours later: Great!: I just received a message from the CEO of Computerworks (the main distributor/customizer for the german Version of VW) that VW Inc. is in fact working on exactly such a global platform which will be released within "only a fiew weeks"! So lets look forward to that! Wonder if someone from VW Inc. could provide us a sneek-peek-screenshot of the new platform here in this forum.
  6. Hello Vectorworks I couldn't find any satisfying posts about these topics - please tell and sorry in case I missed something in the forum. What I am missing in Vectorworks are non planar site modifiers. I am thinking of triangulated meshes or even nurbs surfaces since this would in my eyes match reality much more than the planar pad concept of Vectorworks, especially when thinking of stormwater / drainage and other civil engineering tasks on hard surfaces. Hard surfaces - at least here in hilly Switzerland - mostly are sloped in more than one direction, so are not planar and mostly triangulated. My whish-object would have an edge represented by a 3D-polygon or even polyline and an (unlimited) number of inner loci and 3D-polygons forming a sort of separate little triangulated sub-site model. So actually this would be a secondary site model modifying the primary site model. The grading towards the primary site model would be applied to the (poly-) edge of the secondary model which of course is a more complex job than from the edge of a planar surface. Separatly, some kind of better road tool would be helpful. The existing nurbs roadway tool goes in a good direction in terms of nurbs surfaces but it cannot represent i.e. a side slope (in road cross section for taking the water off to one side of the road - flat roads ar not reality) or a cambered road cross section. So for me this tool by now is just a sketch like thing which is actually useless because it is much too rough to represent reality or to create detailed drawings/cross sections with precise elevations. I cannot figure out who really uses it and what for. Since VW 2016 will be launched only end of this week here in Switzerland I couldnt try out the pad improvements yet. But what I see in the online help of VW 2016 this will not really fulfill my whishes. Still now I would have to make individual triangular pads instead of one connected triangulated site modifier surface. But how manage to really fit them together and manipulate them? The new features (A and B slope markers and bottom height) help of course but do not solve everything. And how do the grading? I would like grading from a whole triangulated area to the primary site model. Same problem for the 3D-Part of the hardscape tool. As said, often you have to get the water off hardscapes in more than one direction - so you triangulate. Of course this makes everything much more complex. Also the retaining wall tools are much too far away from reality - they are useless for me except for calculating some simple cut/fill tasks. Further, retaining walls often are sloped (hardly stepped!) in the long direction. It would be great to have a retaining wall along a poly path with a custom cross section (or even wall-like properties like architectural walls) and a site modifier sticking to the wall surface. I do not expect VW (Landmark) to become as sophisticated as AutoCad Civil3D, but still I am convinced that improvements in this area would be a great advantage on the market since landscape architects (at least in europe) often have civil engineering tasks like urban traffic scapes, city squares, etc. The VW Architecture tools seem much more developped and detailed to me than the landmark tools. It would be great to reach the same standard for landscaping / civil engineering in VW Landmark. Another whish is the individual flipping of triangles in the site model like i.e. in Sketchup. Especially in small site models with only little base data this would be very helpful to shape terrains easyly. I know I can work around this by placing 3D-polys in the site model base data, but this doesn't really seem handy to me. Have there been any thoughts or attempts in these fields? What do others think? Are there any documented workarounds / workflows? Are my whishes much too demanding? Thank you for any reaction / tip / additional suggestions. Regards, Markus
  7. Hello Vectorworks Vectorworks is getting more and more powerfull - I am happy about this. Marionette is only one of many great new features. VectorScript / Python programming also and Database and tables are another highlight in terms of little and large BIMing. But I see a great problem: it is extremly difficult to get started and educated in these things and get insight into workflows. In other words: Vectorworks is a highly developped software, but most people only know how to use absolut basic functions. In my eyes, there is a great lack in education and learning possibilities. For example here in europe (switzerland) I do hardly know any landscape archtitecture collegues who use the plant tools! Databases and tables: nobody. Also third-party applications (scripts, plugins) are extremely rare and hard to find on the net. Many of them very old and useless. The community of programmers is small and geeky and give you the impression about script programming: I will never learn this and even if yes, it will be useless because it takes too much time. Look at Autocad LISP, Autocad Dynamo (almost the same as Marionette), Grasshopper for Rhino or Sketchup Ruby scripts: a huge humming community of programmers and users, thousands of tutorials, videos, plugins, scripts, easy to find on the web. Vectorworks, compared: a frustrating desert. In my comprehension, nowadays, building up of a strong community with help of good learning resources and platforms for sharing of third party products (see i.e. autodesk app store with literally thousands of third party lisp apps) is absolutely crucial to stay in the market and gain market share. So please, please, dear Vectorworks developpers and marketing guy's: think of opening a new branche of your company which only produces high quality tutorial videos! What do others think about this? Thank you and cheers from sunny Switzerland Markus
  8. One more question: anybody can tell me: how to get the values of the x, y, z coordinates and the rotation angle displayed in the info palette of the PIO for use/display inside the PIO? thanks for any help. cheers from zurich, switzerland
  9. Thx alot! Works, see below, with show/hide label checkbox. This is cool, man. Just what I was looking for, I'm happy. But maybe with the new Marionette feature of VW 2016 all this VS programming won't be necessary any more I used Num2Str(no. of decimals,real) instead of concat since it takes care of the decimals. PROCEDURE FlangedPipe; VAR l,pipe_diam,flange_diam,dummy,flange_thick, label_x, label_y:REAL; show_cl, show_len:BOOLEAN; txt:STRING; BEGIN l := PLINELENGTH; pipe_diam := PPIPE_DIAMETER; flange_diam := PFLANGE_DIAMETER; flange_thick:= PFLANGE_THICKNESS; show_cl := PSHOW_CENTERLINE; show_len := PSHOW_LENGTH; label_x := PCONTROLPOINT01X; label_y := PCONTROLPOINT01Y; { draw pipe } Rect(0 + flange_thick,0 + (pipe_diam * 0.5),l - flange_thick,0 - (pipe_diam * 0.5)); { draw flanges } Rect(0,0 + (flange_diam * 0.5),flange_thick,0 - (flange_diam * 0.5)); Rect(l - flange_thick,0 + (flange_diam * 0.5),l,0 - (flange_diam * 0.5)); { draw length label in case of show_len is TRUE} IF show_len THEN BEGIN MoveTo(label_x,label_y); txt:=Num2Str(2,l); CreateText(txt); END; { draw length label in case of show_cl is TRUE} IF show_cl THEN BEGIN MoveTo(0,0); LineTo(l,0); END; END; Run(FlangedPipe);
  10. Hi I'm trying to figure out how to make a simple line-PIO (the flanged pipe example of VWX) display its own length as a text object within itself as a label. The CreateText function does not work since it only accepts string variables. How could I get the length variable (l in this example, type:REAL) converted (and formatted) into a text object within the PIO? Or is there a different approach? Next (second priority) step would be to make a custom control point to be able to drag around the text and define its place manually relative to the main content of the PIO. Sorry if this is a boring newbie question... Thanks for any help. Markus Here my (not working) attempt: PROCEDURE FlangedPipe; VAR l,pipe_diam,flange_diam,dummy,flange_thick:REAL; show_cl:BOOLEAN; txt:STRING; BEGIN l := PLINELENGTH; pipe_diam := PPIPE_DIAMETER; flange_diam := PFLANGE_DIAMETER; flange_thick := PFLANGE_THICKNESS; show_cl := PSHOW_CENTERLINE; { draw pipe } Rect(0 + flange_thick,0 + (pipe_diam * 0.5),l - flange_thick,0 - (pipe_diam * 0.5)); { draw flanges } Rect(0,0 + (flange_diam * 0.5),flange_thick,0 - (flange_diam * 0.5)); Rect(l - flange_thick,0 + (flange_diam * 0.5),l,0 - (flange_diam * 0.5)); { display pline length } MoveTo(0,0); txt:=l; CreateText(txt); IF show_cl THEN BEGIN MoveTo(0,0); LineTo(l,0); END; END; Run(FlangedPipe);
  11. And here I modified Pats rotate each object adding randomizing functionality. Try it out. Pat - tell me if the author info in the header is ok like this for you. So Pat, I actually answered all my questions myself and now have my randomizing scripts. Great! This is fun! Cheers, Markus Procedure RotateEachObjectRandom; {Rotates each selected object including symbols in the active layer randomly in a range between two input values of rotation angles} {Symbols and PIOs are rotated around the insertion point} {Other Objects are rotated around their center point} {original script: RotateEachObject ? 2007,2008,2010 Coviana, Inc - Pat Stanford pat@coviana.com} {2015 modified by Markus Urbscheit - mu@u-plan.ch added randomizing functionality} {Licensed under the GNU Lesser General Public License} Var H1,H2:Handle; N1,N2:Integer; A1:Dynarray[ ] of handle; R1,R2,RX,X1,Y1 :Real; Begin N1:=Count(Sel); If N1>0 then Begin Allocate A1[1..N1]; N2:=1; While N2<=N1 do Begin A1[N2]:=FSActLayer; SetDSelect(FSActLayer); N2:=N2+1; End; R1:=RealDialog('Enter the min amount to rotate each object by','90.0'); R2:=RealDialog('Enter the max amount to rotate each object by','180.0'); N2:=1; While N2<=N1 do Begin If ((GetType(A1[N2]) = 15) or (GetType(A1[N2])=86)) then GetSymLoc(A1[N2],X1,Y1) else HCenter(A1[N2],X1,Y1); RX:=R1+(R2-R1)*random; HRotate(A1[N2],X1,Y1,RX); N2:=N2+1; End; End else Begin N1:=0; AlrtDialog('at least one object must be selected!'); End; End; Run(RotateEachObjectRandom);
  12. Hi thanks also from Switzerland. You helped me to write my randomize symbols scale script (i.e. for making tree symbols look more natural). See this post. cheers, Markus
  13. Hi guys - I found out how to manipulate the symbols scale in this thread and modified Pats script to randomize the individual scale of symbols. here you go - ScaleEachSymbolRandom: Procedure ScaleEachSymbolRandom; {Scales each selected symbol in the active layer around the symbol center} {? original Script ScaleEachObject, 2007, 2010, by Coviana, Inc - Pat Stanford pat@coviana.com} {modified for symbols and added randomizing function 2015 by Markus Urbscheit mu@u-plan.ch} {Licensed under the GNU Lesser General Public License} Var H1,H2:Handle; N1,N2:Integer; A1:Dynarray[ ] of handle; RX:Real; R1:Real; R2:Real; Begin N1:=Count(Sel); If N1>0 then Begin Allocate A1[1..N1]; N2:=1; While N2<=N1 do Begin A1[N2]:=FSActLayer; SetDSelect(FSActLayer); N2:=N2+1; End; R1:=RealDialog('min scaling factor','1.0'); R2:=RealDialog('max scaling factor','2.0'); N2:=1; While N2<=N1 do Begin SetSelect(A1[N2]); RX:=(R2-R1)*random+R1; SetObjectVariableReal(A1[N2], 102, RX); SetObjectVariableInt(A1[N2], 101, 2); DSelectAll; N2:=N2+1; End; End else Begin N1:=0; AlrtDialog('mindestens ein Objekt muss ausgewählt sein!'); End; End; Run(ScaleEachSymbolRandom);
  14. sorry guys, in my last post of the ScaleEachObjectRandom script there was a ' missing after max scaling factor. here the correct version: Procedure ScaleEachObjectRandom; {Scales each selected object in the active layer around the obejct center} {? original Script ScaleEachObject by 2007, 2010, by Coviana, Inc - Pat Stanford pat@coviana.com} {added randomizing function by Markus Urbscheit mu@u-plan.ch} {Licensed under the GNU Lesser General Public License} Var H1,H2:Handle; N1,N2:Integer; A1:Dynarray[ ] of handle; RX:Real; R1:Real; R2:Real; Begin N1:=Count(Sel); If N1>0 then Begin Allocate A1[1..N1]; N2:=1; While N2<=N1 do Begin A1[N2]:=FSActLayer; SetDSelect(FSActLayer); N2:=N2+1; End; R1:=RealDialog('min scaling factor','1.0'); R2:=RealDialog('max scaling factor','2.0'); N2:=1; While N2<=N1 do Begin SetSelect(A1[N2]); RX:=(R2-R1)*random+R1; Scale(RX,RX); DSelectAll; N2:=N2+1; End; End else Begin N1:=0; AlrtDialog('mindestens ein Objekt muss ausgewählt sein!'); End; End; Run(ScaleEachObjectRandom);
  15. Hi Pat thanks alot for this great script. It would be very helpful to me to have a version which works with symbols as well (and in second priority with groups). This version here only seems to work with simple objects like rectangles, circles, polys... Which code would I have to add for symbols? I couldn't find anything in the VS function reference. My goal is to write a script combined of your scale individual objects script and the rotate individual objects script including a randomizing function. I'm in landscaping. I want to be able to place tree symbols (of same size) on site plans and quickly make them look more natural by rescaling and rotating them randomly within a certain range. Maybe it would be easyer to keep scripts separated: one for simple objects and one for symbols. Next step maybe would be a "forest-script" to create randomly scattered trees within an area defined by a polyline. Thanks in advance for any tip. Markus Below my first (working) attempt to add a randomizing function to your scale individual objects script (not working with symbols): Procedure ScaleEachObjectRandom; {Scales each selected object in the active layer around the obejct center} {? original Script ScaleEachObject by 2007, 2010, by Coviana, Inc - Pat Stanford pat@coviana.com} {added randomizing function by Markus Urbscheit mu@u-plan.ch} {Licensed under the GNU Lesser General Public License} Var H1,H2:Handle; N1,N2:Integer; A1:Dynarray[ ] of handle; RX:Real; R1:Real; R2:Real; Begin N1:=Count(Sel); If N1>0 then Begin Allocate A1[1..N1]; N2:=1; While N2<=N1 do Begin A1[N2]:=FSActLayer; SetDSelect(FSActLayer); N2:=N2+1; End; R1:=RealDialog('min scaling factor','1.0'); R2:=RealDialog('max scaling factor,'2.0'); N2:=1; While N2<=N1 do Begin SetSelect(A1[N2]); RX:=(R2-R1)*random+R1; Scale(RX,RX); DSelectAll; N2:=N2+1; End; End else Begin N1:=0; AlrtDialog('mindestens ein Objekt muss ausgewählt sein!'); End; End; Run(ScaleEachObjectRandom);
×
×
  • Create New...