# tlewis3348

Members

22

• Rank
Beginner

## Profile Information

• Gender
Male
• Interests
• Are you University user?
No

## Recent Profile Visitors

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

1. ## Is there a limit to the number of surfaces a solid can have for solid mapping?

That's perfect. That makes things much easier. Now I don't have to do the extra step of having to split bodies like this up.
2. ## Is there a limit to the number of surfaces a solid can have for solid mapping?

It is a constant thickness, so I can do that. I've just never run into this issue before, and I was wondering if there were some other way to avoid it.
3. ## Is there a limit to the number of surfaces a solid can have for solid mapping?

The screenshot below shows a part I'm working on meshing. In order to have a good quality mesh, I have split the top surface into many smaller surfaces. I then meshed the individual surfaces with the 2D Automesh tool and was hoping to then simply use the Solid map tool to sweep that mesh through the thickness (an approach I've used many times before. However, when I attempt to mesh this solid, I get the following error message: "At 0/1. Solid 64:Faces (=2813) per solid over limit(1078)." I was not aware that such a limit existed. Other than splitted the solid into multiple smaller solids, is there any way around this?
4. ## What is the difference between the major axis and normal vectors in the *solidcone command?

That helped a lot. Thanks!
5. ## What is the difference between the major axis and normal vectors in the *solidcone command?

The help documentation for *solidcone (link) defines the two vectors as: The definition of the normal vector is fairly straightforward to me. However, the major axis vector is not quite so straightforward. Looking at the output to the command.tcl file after creating a cylinder manually, it looks like one of the components gets set to zero and the other components are calculated based on the coordinates of the selected bottom center and normal vector nodes that were selected. However, it isn't clear to me how these decisions are made or how the calculated are done. If someone could explain it to me, I'd greatly appreciate it.
6. ## Automate Better Washer Creation

Ah! That works. Thanks for the script! I'm sure it will be very helpful.
7. ## Automate Better Washer Creation

Nice! I'd be interested to see your proc, if you don't mind sharing. My approach to automating the process may be making too many assumptions about the orientation for the surface splits that I would normally create, and even if I'm not, it would certainly be useful for generating the pattern after I figure out the orientation. When I do a search for hm_getsurfaceloops﻿﻿, nothing is returned (from either Altair's help documentation or from Google). This causes me to think that there was a typo of some kind, but searching for both "hm_getsurface" and for "loop" in Altair's help documentation didn't return anything that looks like it would accomplish what I'm looking for. Could you clarify what function you were referring to? Thanks for your help!
8. ## Automate Better Washer Creation

Many of the parts that I mesh contain a significant number of bolt holes. In order to make the highest quality mesh possible, I have found that it is far better to imprint a square around the hole rather than a circle. This square (with a hole in the middle) gets divided into four sections. The number of elements along each edge depends on the size of the hole, but for most of the holes I am dealing with, I can use two elements along the edge of the hole (making for 8 elements total around the hole), two elements on the "spokes" between the edge of the hole and the edge of the square, and three elements on each half of the edges of the square. As can be seen in the images below (associated model can be found here: Washer Mesh Comparison.hm), this allows for a mesh of far higher quality than a simple washer permits. The obvious downside is that it is much more tedious to produce. Therefore, I would very much like to find a means of automating this procedure. As such, I have the following questions: Is anyone aware of something that has already been written to do this so I don't have to write it myself? Given a line ID, is it possible to identify the planar surface associated with it? (Note: I want to distinctly identify the planar surface and not the cylindrical surface since I don't care about the cylindrical surface.) Given a surface ID, is it possible to get a list of lines that define the boundaries of that surface? Given two line IDs, is it possible to get the shortest distance between the two lines? Given two line IDs, is it possible to split the first line at the point nearest to the second line? I am fairly comfortable in TCL at this point, so that isn't an issue. Also, I'm well aware that doing things like determining the shortest distance between a circle and a straight line are relatively straightforward geometry calculations, but I'm primarily asking if there are built in functions to accomplish these things so I don't have to write the code myself. Sorry for all the questions, but if you can answer just one of them, I'd greatly appreciate it. Thanks!
9. ## How do I get the plane of a circle?

That works perfectly! Thanks!
10. ## How do I get the plane of a circle?

In order to define a plane containing a circle, I need the center of the circle and the normal of the plane. Getting the center is simple using hm_getbestcirclecenter. I have not been able to find a means of getting the normal. If it were possible to get the coordinates of two points on the circle, I could use those with the coordinates of the circle center to calculate the normal. However, I haven't been able to find a means of getting those two points.

Wow! That seems like a terrible idea. It seems like that encourages users to never comment their code because it can cause their code to have problems.

I am working with whatever language is used for the .mac files in HyperMesh. It's not exactly clear to me what language it is, but I do know it's not TCL (which uses the extension .tcl for its files). The code I was originally using came directly from the program files directory. Here is the path on my system: C:\Program Files\Altair\2017\hm\bin\win64\userpage.mac. It seemed quite clear to me that this file is using "//" to comment out lines that should not be executed. Therefore, I tried to comment out the if-statement. However, clearly, I'm missing something since I did not actually comment out the line like I thought I had.