Jump to content

Miguel Barrera

Member
  • Posts

    663
  • Joined

  • Last visited

Everything posted by Miguel Barrera

  1. What do the stars mean anyway? I did not notice them until this was posted. Is it directly related to the number of posts and replies? Being a user since MiniCad 1 which accounts for 23 years working with the program, I feel kind of cheated. Can I have at least 1 star?
  2. It does not matter what the default is unless you are double clicking at the same point. If you click the same way as drawing a line, LineLength will hold the length between the two clicks. You may want to trap for a length below a minimum. pluginLng:= PLINELENGTH; IF pluginLng < 10 THEN pluginLng:= 10; MoveTo(0,0); LineTo(pluginLng,0); strVal:= Num2Str(4,pluginLng); SetRfield(objHdl,objName,'LineLength',strVal);
  3. Although it is a national holiday, mexican celebration of the event is limited to parades where local schools participate. It is certainly very mild compared to the hype in the USA. It has become such a big event here that it even overshadows and often gets confused with Mexico's Independence Day which is September 16. Without a doubt, that is the greatest event in mexican culture and it is celebrated throughout the night of the 15th.
  4. Here is the link to free tutorials Free Resources
  5. The circle is the object creating the facets and not the nurbs curve. You need to adjust the 3D conversion resolution in the VW preferences, which by default is set to medium.
  6. Also if you want to learn how to script object creation, you can draw whatever you want and export it as a vectorscript. Open the file in a text editor and it will show you the steps to create the object(s). As a check, you can import the script into a new vw file and it should draw it as the original.
  7. Probably when doing some of these copying operations, it did not write all the file and got corrupted. That is why we are always reminded to backup files as a preventive measurement. Although there is a 99% chance that system operations will complete successfully, there is always that remaining 1% when something may go wrong.
  8. Variables only exist while the script is running. You can use the debugger to view the values or the old fashion way before the debugger, which was to write values to the Output.txt file.
  9. As long as A & B exist , VW will track each. You can say that a handle (address) is the ID for each and usually it will be a LONGINT variable with 2M addresses available. Duplicate is a procedure that works on selected objects which means that you will need to select the object to be duplicated before calling the procedure: VAR A,B: HANDLE; SetSelect(A); Duplicate(0,0); B:= LNewObj; CreateDuplicateObject is a function that takes a handle of the object to be duplicated and it can also place the duplicate inside a container such as a group, symbol or layer; B:= CreateDuplicateObject(A,NIL); If the container is NIL, it will place the duplicate in the same container as the original object.
  10. It seems that the compiler cannot find the declaration of a variable, which is possible if a line of code was deleted. If this object is part of Spotlight, I would just reinstall VW to get back the original object.
  11. Yes, that is correct. The numbers in the case statement correspond to the item number. You should have a number for each item that will trigger an action after the user clicks or enters text in the dialog item.
  12. It seems that it may be a combination of code length and number of parameters. I hit the wall on a 257K plug-in with 80+ parameters. After typing a few lines of code, the script editor would not take anymore of the input. On the other hand, I have another script with 273K of code and less than half parameters and did not have problems compiling it. I have a Windows system, so the limit may also be different on the Mac.
  13. You are missing the code for each item in the case statement. Whenever you click on an item, the case statement gets executed and looks for that item number (i.e. 5,8,11 or 14) in the case statement. In your code, you are only handling calls to the setup and item 1, which is the OK button. You need to structure the code something like this: CASE item OF SetupDialogC: BEGIN .... END; 1: BEGIN ... END; 5: BEGIN IF ItemSel(5) THEN Check01:= 1 ELSE Check01:= 0; IF (check01=1) THEN SetItemEnable(8,TRUE); END; 8: BEGIN IF ItemSel(8) THEN Check02:= 1 ELSE Check02:= 0; END; 11: BEGIN IF ItemSel(11) THEN Check03:= 1 ELSE Check03:= 0; END; 14: BEGIN IF ItemSel(14) THEN Check04:= 1 ELSE Check04:= 0; END; END;
  14. Ian, Have you tried this function to get the elevation? FUNCTION GetZatXY(hObject :HANDLE; X :REAL; Y :REAL; VAR outZ :REAL) :BOOLEAN; Description: Returns the Z on the DTM, given the XY. If the stake object has a 3D component, then the center may not coincide with the x,y,z of the survey point. A stake by definition is only one object and should have only one elevation. If you are staking at the same location, you would have an existing and a proposed stake object. You can also run into problems with the id if both elevations share the same.
  15. Do you mean the symbol's origin? I would add 2D & 3D points on the symbol's definition at the origin. I would also add lines defining the axes with their own classes. Then you can turn on and off the classes to view the axes as you wish.
  16. Christian, I was just curious about the creation, because it was developed as a one click command. Since I do not have VWA, I lost touch on how NNA adapted this feature into the program. I only saw the literature when wall framer was added to VWA. The original program created the components as mesh objects rather than extrudes to facilitate edits for non-standard conditions.
  17. This would only be true for a post and beam structure but not a traditional stud with top and bottom plates. The framing of an external wall is all structural with this type of construction. If an interior wall is non-bearing, then the components may all be non-structural. If there is a post to hold the upper structure in the interior wall, then this would be the only structural component. This should be a separate function for masonry construction. NNA should be able to implement this by replacing the code in wall framer with masonry material. I agree. If the wall tool is modified to include the components as material instead of just class and line work, this information would be available to draw the section with the components.
  18. How is it so? I thought you only needed to click on the menu command to create it. At least that was the intention when it was developed; to frame the walls and add other wall components once the final design was completed. The concept was driven by the desire to obtain a more accurate list of materials. How is it going to be different framing one wall at a time than all of them at the end?
  19. Select all the lines to be extended or shortened, select the connect/combine tool, press the Alt key throughout the operation, click on a selected line and then on the line to extend.
  20. Bruce, I am sorry that you are undergoing radiation treatment and I hope everything turns out for the better. The channel design file was done in VW9 and it is about 46MB so I do not know if it will be of any use to you and if I can even uploaded it. The project was to widen 8,200 ft of an existing channel which accounts for the large file size. As you very well know, any kind of civil engineering design is not possible with the tools provided in Landmark. Most of the design I do is accomplished with custom plugins and menu commands that I have developed over the past 8 years. Programming these tools is simply the automation of the steps needed to do a task manually. First, I draw a custom centerline that holds the stationing and serves as the reference point for sections and profiles. Sections are drawn from the data contained in the DTM at the station desired. After one enters the station, the section plugin finds the point on the centerline, draws an imaginary perpendicular line, and calculates the elevation for each intersecting point of the perpendicular line with the 3D poly in the DTM. I would estimate that if I had to do this process manually, it would take me about an hour to draw each section and a total of 82 hours for all the sections in this project. With the custom plugin, it only took seconds to draw each section and about 2 hours to compose all sections. But the question at hand was how to model the river/channel on VW and to do this, you only need to generate a DTM. If this is an existing channel, you just need to add 3D polys to the DTM that define the top bank and toe of the channel. If it is a new channel, copy all the stake objects or 3D points to a new layer; draw polygons to define the top of each channel side; then, remove all the stake objects or 3D points within the left and right boundary polys; add stake objects or 3D points on each vertex of the polys that define the top and toe of the channel; send the stake objects or 3D points on the top bank to the existing DTM surface; calculate the elevation of the toe stake objects or 3D points; convert the 2D polys to 3D polys; snap each 3D vertex of the polys to the corresponding stake object or 3D point; and finally, generate another DTM with the new channel geometry. If I remember well, I could not open the file that you sent me because it did not include the extension needed in windows. Nevertheless, I tried to open it with VW 2008 (*.vwx extension) but it failed and I assumed that it was created with VW 2009.
  21. Holsteinson, Why would anyone buy another app when you can very well do it in VW? And it is not reinventing the wheel because the capability has been there all along.
  22. Ian, I would consider include files more like libraries of constants and/or self-contained procedures and functions, which are typically grouped by subject. I believe this feature was introduced in VW11 to resolve the size limit of scripts. I only know this because I am guilty of hitting this mark and rather than splitting the code in parts, I condensed the code to stay within the limit. The INCLUDE directive is just an external storage space for the code. At runtime, it will add the code at the line where the directive is called. This is why it is important to place the directive at the top of the script and to follow the language order of statements (CONST,TYPE,VAR,PROCEDURE and FUNCTION).
  23. Ian, Objects embedded or on top of the earth surface should not be part of the DTM. Only their x,y,z location at the surface should be recorded. Their dimensions and other characteristics can be included in the description field. There is a degree of engineering judgement as to what is part of the natural terrain. Roads, curbs, sidewalks, steps, driveways should be included while buildings, signs, trees should only include data at the ground level. I once generated a DTM that had spikes 7 feet high and could not understand why it was showing this way. When I checked the survey points, it turned out to be signs with the elevation at the top of the post rather than the bottom. We use sokia equipment for surveying and all I ask is for a text file with the ID, code, description, and location for each point. As some of you have experienced, the VW import survey has its limitations so I had to write a custom import and also a survey/stake object to hold all the information. Since some of the codes used by the surveyors are uniform, the import survey script recognizes this and inserts the appropriate symbol for the objects such as trees, signs, power poles, valves, meters, manholes, etc.
  24. What kind of graphic are these things? As I understand the problem, each distinct object will have the same fill color but the lines will match the vendor assigned color. This can be done with plugin objects with two fields; one for the object type; the other for the vendor name. Can you attach a sample pic of the objects?
  25. A few years ago I designed an earthen channel by adding 3D points and 3D polygons to the existing DTM data and then creating a new DTM with the channel geometry.
×
×
  • Create New...