本帖最后由 ZZXXQQ 于 2013-7-15 00:06 编辑
 - (defun c:tt () ;HK500X350X10X16/280,[550-10-14X100
- (setq fnm (if (= (type fnm) 'STR) fnm ""))
- (if (and (setq ss (ssget '((0 . "TEXT") (1 . "HK*X*X*X*/*,`[*`-*`-*X*"))))
- (setq fnm (getfiled "选择文件" fnm "lis" 1))) (progn
- (setq fp (open fnm "w"))
- (setq i -1)
- (repeat (sslength ss)
- (setq txt (cdr(assoc 1 (entget(ssname ss (setq i (1+ i)))))))
- (setq j 1 tmp "" nlst (list))
- (while (wcmatch (substr txt j 1) "~[0-9]") (setq j (1+ j)))
- (while (<= j (strlen txt))
- (if (wcmatch (setq a (substr txt j 1)) "[0-9]")
- (setq tmp (strcat tmp a))
- (setq nlst (cons (atof tmp) nlst) tmp "")
- )
- (setq j (1+ j))
- )
- (if (> (strlen tmp) 1) (setq nlst (cons (atof tmp) nlst)))
- (setq nlst (reverse nlst))
- (princ "PROFILE DATABASE EXPORT VERSION = 3\n" fp)
- (princ "PROFILE_NAME = " fp)
- (prin1 txt fp)
- (princ ";\n{\n TYPE = " fp)
- (if (= (substr txt 1 1) "[") (progn
- (princ "999; SUB_TYPE = "CCCC"; SUB_TYPE = 999168; COORDINATE = 0.000;\n {\n" fp)
- (princ "\n "T1" " fp)
- (princ (rtos (caddr nlst) 1 9) fp)
- (princ "\n "T2" " fp)
- (princ (rtos (cadr nlst) 1 9) fp)
- (princ "\n "B1" " fp)
- (princ (rtos (last nlst) 1 9) fp)
- (princ "\n "H" " fp)
- (princ (rtos (car nlst) 1 9) fp)
- ) (progn
- (princ "11; SUB_TYPE = 11001; COORDINATE = 0.000;\n {\n" fp)
- (princ " "HEIGHT" " fp)
- (princ (rtos (car nlst) 1 9) fp);5.000000000E+002 (高)对应的500
- (princ "\n "WEB_THICKNESS" " fp)
- (princ (rtos (caddr nlst) 1 9) fp);1.000000000E+001 (腹板厚度)对应的10
- (princ "\n "FLANGE_THICKNESS" " fp)
- (princ (rtos (cadddr nlst) 1 9) fp);1.600000000E+001 (翼缘厚度)对应的16
- (princ "\n "WIDTH" " fp)
- (princ (rtos (cadr nlst) 1 9) fp);3.500000000E+002 (翼缘宽度)对应的350
- (princ "\n "CANTILEVER" " fp)
- (princ (rtos (/ (- (cadr nlst) (last nlst)) 2.0) 1 9) fp);3.500000000E+001 ((宽度-280)/2) 对应的是 (350-280)/2
- (princ "\n "ROUNDING_RADIUS" 1.500000000E+001" fp); (固定)
- ))
- ;*****
- (princ "\n "CROSS_SECTION_AREA" 0.000000000E+000" fp)
- (princ "\n "COVER_AREA" 0.000000000E+000" fp)
- (princ "\n "WEIGHT_PER_UNIT_LENGTH" 0.000000000E+000" fp)
- (princ "\n "MOMENT_OF_INERTIA_X" 0.000000000E+000" fp)
- (princ "\n "MOMENT_OF_INERTIA_Y" 0.000000000E+000" fp)
- (princ "\n "SECTION_MODULUS_X" 0.000000000E+000" fp)
- (princ "\n "SECTION_MODULUS_Y" 0.000000000E+000" fp)
- (princ "\n "RADIUS_OF_GYRATION_X" 0.000000000E+000" fp)
- (princ "\n "RADIUS_OF_GYRATION_Y" 0.000000000E+000" fp)
- (princ "\n "NEUTRAL_AXIS_LOCATION_ELASTIC_X" 0.000000000E+000" fp)
- (princ "\n "NEUTRAL_AXIS_LOCATION_ELASTIC_Y" 0.000000000E+000" fp)
- (princ "\n "NEUTRAL_AXIS_LOCATION_PLASTIC_X" 0.000000000E+000" fp)
- (princ "\n "NEUTRAL_AXIS_LOCATION_PLASTIC_Y" 0.000000000E+000" fp)
- (princ "\n "PLASTIC_MODULUS_X" 0.000000000E+000" fp)
- (princ "\n "PLASTIC_MODULUS_Y" 0.000000000E+000" fp)
- (princ "\n "TANGENT_OF_PRINCIPAL_AXIS_ANGLE" 0.000000000E+000" fp)
- (princ "\n "SHEAR_CENTER_LOCATION" 0.000000000E+000" fp)
- (princ "\n "TORSIONAL_CONSTANT" 0.000000000E+000" fp)
- (princ "\n "WARPING_CONSTANT" 0.000000000E+000" fp)
- (princ "\n "NORMALIZED_WARPING_CONSTANT" 0.000000000E+000" fp)
- (princ "\n "WARPING_STATICAL_MOMENT" 0.000000000E+000" fp)
- (princ "\n "STATICAL_MOMENT_Qf" 0.000000000E+000" fp)
- (princ "\n "STATICAL_MOMENT_Qw" 0.000000000E+000" fp)
- (princ "\n "SQRT_OF_E_x_Cw_PER_G_x_J" 0.000000000E+000" fp)
- (princ "\n "POLAR_RADIUS_OF_GYRATION" 0.000000000E+000" fp)
- (princ "\n }\n}\n" fp)
- )
- (close fp)
- (startapp "notepad" fnm)
- ))
- (princ)
- )
|