Hi.
"Jesper Mouritzen" <jm@privat.dk> skrev i en meddelelse
news:3cc3f368$0$97294$edfadb0f@dspool01.news.tele.dk...
> Jeg sidder og leger med tyngdepunkter i autocad.
>
> Jeg ved godt af den kan lave areal tyndge punkter. Men spørgsmålet er om den
> kan lave linie tyngde punkter som man f.eks bruger ved fremstilling af
> standse og klippe værktøjer.
>
> Hilsen Jesper
Det er svært at se om mit svar vil være off-topic ,men når det handler om
tyngdepunkter, vil du finde dette for et objekt, når du bruger Solpropp i
AutoCAD 14.
------- Hvis du har startet "Masspropp" funktionen i Autocad, vil du blive bedt
om at udpege det object du ønsker oplysninger om ,og nogle af disse oplysninger
vil blive gemt i AutoCAD's system var's.
Bla. Area ,som du kan hente med denne nemme funktion ;
(getvar "area")
Men med hensyn til objektets midterpunkt, så må du nok regne med, at du skal
svare "Y" til Massprop funktionens spørgsmål om oplysningerne skal skrivet til
en fil.
Der er pt. en diskusion på en af de internasionale AutoCAD grupper om, hvordan
man så læser disse oplysninger ind i AutoCAD igen, og det er faktisk meget nemt,
men kræver en lille applikasion der kan gøre det , i den diskusion jeg henviser
til, kan du ovenikøbet finde koden i Lisp som ser sådan ud ;
(defun C:mp ()
(Command "MSPACE")
(setq ocmd (getvar "cmdecho"))
(setvar "cmdecho" 0)
(setq ss (entsel"\nSelect solid object:"))
(if ss
(setq ent_name (car ss ))
(exit)
)
(setq ret_list (mass_prop ent_name))
(setq s_mass (nth 0 ret_list)
s_volume (nth 1 ret_list)
s_centroid (nth 2 ret_list)
;s_moi (nth 3 ret_list)
;s_poi (nth 4 ret_list)
;s_gyr (nth 5 ret_list)
;s_mom (nth 6 ret_list)
)
(setvar "cmdecho" ocmd)
(C3ToY3 s_volume)
(lb2kip s_mass)
(Princ vol)
(Princ "\n")
(Princ kips)
(Post vol wt)
)
(defun mass_prop (ent_name / oqaflags ss ent_name file_name file_ext fname
fp
s_mass s_volume
s_centroid s_xcentroid s_ycentroid
s_zcentroid
s_moi s_xmoi s_ymoi s_zmoi
s_poi s_xypoi s_yzpoi s_zxpoi
s_gyr s_xgyr s_ygyr s_zgyr
s_mom s_xmom s_ymom s_zmom
ret_list rline)
(Princ "\nSetting up file")
(setq file_name "mp_$.mpr")
(Princ file_name)
;(setq file_ext ".mpr")
(setq oqaflags (getvar "qaflags"))
(setvar "qaflags" 2)
(Princ "\nWriting file.....")
(command "massprop" ent_name "" "Y" file_name)
(setq fname file_name)
(princ fname)
(terpri)
(setq fp (open fname "r"))
(princ fp)
(terpri)
(if (not fp)
(progn
(princ "\nUnable to open mass property file")
(exit)
)
)
(repeat 4 (setq rline (read-line fp)))
(setq s_mass (atof (substr rline 25)))
(setq rline (read-line fp))
(setq s_volume (atof (substr rline 25)))
(repeat 4 (setq rline (read-line fp)))
(setq s_xcentroid (atof (substr rline 25)))
(setq rline (read-line fp))
(setq s_ycentroid (atof (substr rline 25)))
(setq rline (read-line fp))
(setq s_zcentroid (atof (substr rline 25)))
(setq s_centroid (list s_xcentroid s_ycentroid s_zcentroid))
(setq rline (read-line fp))
(setq s_xmoi (atof (substr rline 25)))
(setq rline (read-line fp))
(setq s_ymoi (atof (substr rline 25)))
(setq rline (read-line fp))
(setq s_zmoi (atof (substr rline 25)))
(setq s_moi (list s_xmoi s_ymoi s_zmoi))
(setq rline (read-line fp))
(setq s_xypoi (atof (substr rline 25)))
(setq rline (read-line fp))
(setq s_yzpoi (atof (substr rline 25)))
(setq rline (read-line fp))
(setq s_zxpoi (atof (substr rline 25)))
(setq s_poi (list s_xypoi s_yzpoi s_zxpoi))
(setq rline (read-line fp))
(setq s_xgyr (atof (substr rline 25)))
(setq rline (read-line fp))
(setq s_ygyr (atof (substr rline 25)))
(setq rline (read-line fp))
(setq s_zgyr (atof (substr rline 25)))
(setq s_gyr (list s_xgyr s_ygyr s_zgyr))
(setq rline (read-line fp))
(setq rline (read-line fp))
(setq s_xmom (atof (substr rline 25)))
(setq rline (read-line fp))
(setq s_ymom (atof (substr rline 25)))
(setq rline (read-line fp))
(setq s_zmom (atof (substr rline 25)))
(close fp)
(setq s_mom (list s_xmom s_ymom s_zmom))
(setvar "qaflags" oqaflags)
(setq ret_list (list s_mass s_volume s_centroid s_moi s_poi s_gyr s_mom))
)
Koden er leveret af en af de faste skribenter Dennis Shinn i Comp.CAD.AutoCAD i
en nylig tread med subject "a steel weight".
Men umiddelbart kan du altså lede efter 3D punktet i det svar Massprop
giver, -------- tilgengæld er Masspropp beregnet på Solids.
Have a nice day.
P.C.
http://d1o111.dk.telia.net/~u139600113/a