### Author Topic: Mechanical help...  (Read 10113 times)

0 Members and 1 Guest are viewing this topic.

#### Water Bear

• Guest
##### Mechanical help...
« on: February 24, 2004, 03:24:18 PM »
Thanks to the good folks here at The Swamp I've worked up this duct calculator which makes conversions based on volume (cfm), velocity (fpm) and conversts to and from round ducts...it still needs some work to make it "pretty" but I've gone about as far as I know how...anyway I'll post it for input (I couldn't get it to calculate friction loss/100' duct) if anyone has suggestions please post, and if you can use it you're welcome to...thanx
Code: [Select]
`(defun duct_calc (/) ;;;          volume  pressure   velocity;;;  diam     rey_no fric_fac   width;;;  depth     square friction   area_sqft;;;  )  (setq diam (getreal "\nEnter duct diameter:") width (getreal "\nEnter duct width:") depth (getreal "\nEnter duct depth:") volume (getreal "\nEnter total CFM'S:") velocity (getreal "\nEnter Velocity in FPM:") )  (cond    ((and diam volume)     (setq area_sqft (/ (* 0.7854 (expt diam 2.0)) 144.0)   width     (* diam 0.914774703)   depth     (* diam 0.914774703)   velocity  (/ volume area_sqft)   pressure  (expt (/ velocity 4005.00) 2)   )     (find_fric)     )    ((and diam velocity)     (setq area_sqft (/ (* 0.7854 (expt diam 2.0)) 144.0)   width     (* diam 0.914774703)   depth     (* diam 0.914774703)   volume    (* area_sqft velocity)   pressure  (expt (/ velocity 4005.00) 2)   )     (find_fric)     )    ((and width depth volume)     (setq area_sqft (* (/ (* width depth) 144.0) 0.914774703)   square    (sqrt (* area_sqft 144.0))   diam     (* 1.3 (exp  (/ (log (/ (expt (* square square) 5.0)     (expt (+ square square) 2.0)     )  )     8.0     )  ) )   velocity  (/ volume area_sqft)   pressure  (expt (/ velocity 4005.00) 2)   )     (find_fric)     )    ((and width depth velocity)     (setq area_sqft (* (/ (* width depth) 144.0) 0.914774703)   square    (sqrt (* area_sqft 144.0))   diam     (* 1.3 (exp  (/ (log (/ (expt (* square square) 5.0)     (expt (+ square square) 2.0)     )  )     8.0     )  ) )   volume    (* area_sqft velocity)   pressure  (expt (/ velocity 4005.00) 2)   )     (find_fric)     )    ((and volume velocity)     (setq area_sqft (/ (/ volume velocity) 0.914774703)   square    (sqrt (* area_sqft 144.0))   diam     (* 1.3 (exp  (/ (log (/ (expt (* square square) 5.0)     (expt (+ square square) 2.0)     )  )     8.0     )  ) )   width     (* diam 0.914774703)   depth     (* diam 0.914774703)   pressure  (expt (/ velocity 4005.00) 2)   )     (find_fric)     )   (t      (cond ((if volume   t   ) (prompt   "\nYou must enter diameter or Width x Depth or FPM..."   ) ) ((if velocity   t   ) (prompt   "\nYou must enter a diameter or Width x Depth or CFM..."   ) ) (t (prompt "\nYou must indicate CFMs or FPM..") ) )      )    )  )(defun find_fric ()  (setq rey_no (* 0.075 diam velocity (/ 1.0 0.0432)) ;<=need coefficient for viscosity of standard air in pounds/ft hr fric_fac (/ 64.0 rey_no) ;<=only good if reynolds is less than 2000 friction (* fric_fac (/ 1200 diam) pressure) ) ;<==Darcy/Weisbach  )`

#### JohnK

• Seagull
• Posts: 10623
##### Mechanical help...
« Reply #1 on: February 24, 2004, 03:28:43 PM »
Cool. (I work in the mech field too.) Ill help help as much as i can when i get spare time. (I work in Microstation alot now, but i do still use Acad once and a while so this would be cool.)
TheSwamp.org (serving the CAD community since 2003)
Member location map - Add yourself

Donate to TheSwamp.org

#### Mark

• Custom Title
• Seagull
• Posts: 28762
##### Mechanical help...
« Reply #2 on: February 24, 2004, 05:07:00 PM »
Excellent job there water bear
TheSwamp.org  (serving the CAD community since 2003)

#### Water Bear

• Guest
##### Mechanical help...
« Reply #3 on: February 24, 2004, 05:17:47 PM »
Thanks for the kind words Mark. I, in turn, must thank CAB, and DParcon for their help...

• Guest
##### Mechanical help...
« Reply #4 on: February 24, 2004, 05:37:30 PM »
Looks really great, Water Bear.

The factor 0.914774703, is that a workaround for not isolating one of the square sides in the formula that was discussed in the "you say you're pretty good at numbers...." thread?
Man, I gave up on that formula.

#### Water Bear

• Guest
##### Mechanical help...
« Reply #5 on: February 24, 2004, 05:42:43 PM »
Yes, SMadsen, that's the one that had me pulling my hair out! lol

#### CAB

• Global Moderator
• Seagull
• Posts: 10401
##### Mechanical help...
« Reply #6 on: February 24, 2004, 06:53:00 PM »
Great job...

Some superficial stuff that is a personal preference.
You can create local functions to make the code more readable
and it localizes formula. So if you need to change a formula
it is in one place not many copies.

I added some window dressing and did a little filter on the inputs.
I'm still on the lower end of programing prowess so consider the
source.

CAB

Code: [Select]
`;;; Duct calc returns the friction value(defun duct_calc (/);;;             volume  pressure   velocity ;;;        diam        rey_no   fric_fac   width ;;;        depth        square   friction   area_sqft ;;;        );;; -=<*>=- -=<*>=- -=<*>=- -=<*>=- -=<*>=- -=<*>=- -=<*>=- -=<*>=-;;;                      Local Functions                           ;;; -=<*>=- -=<*>=- -=<*>=- -=<*>=- -=<*>=- -=<*>=- -=<*>=- -=<*>=-;;;  ;;  given the area in square feet returns the diameter  (defun area2dia (sf_area / square)    (setq square (sqrt (* sf_area 144.0)))    (* 1.3       (exp         (/ (log (/ (expt (* square square) 5.0)                    (expt (+ square square) 2.0)                 )            )            8.0         )       )    )  ) ; end defun  ;;  given diameter returns the side dimension  (defun dia2sq (dia)    (* dia 0.914774703)  )  ;;  given the diameter returns the area in sq ft  (defun dia2area (dia)    (/ (* 0.7854 (expt dia 2.0)) 144.0)  )  ;;  given the sides returns the area in sq ft  (defun rec2area (w d) ; retangle to area    (* (/ (* w d) 144.0) 0.914774703)  )  ;;  given the diameter returns the area in sq ft  (defun veloc2press (vel)    (expt (/ vel 4005.00) 2)  )  ;;  calc friction   (defun find_fric ()    (setq rey_no   (* 0.075 diam velocity (/ 1.0 0.0432)) ;<=need coefficient for viscosity of standard air in pounds/ft hr           fric_fac (/ 64.0 rey_no) ;<=only good if reynolds is less than 2000           friction (* fric_fac (/ 1200 diam) pressure)    ) ;<==Darcy/Weisbach   );;; -=<*>=- -=<*>=- -=<*>=- -=<*>=- -=<*>=- -=<*>=- -=<*>=- -=<*>=-;;;================================================================;;;                    Start of Routine                            ;;;================================================================;;; -=<*>=- -=<*>=- -=<*>=- -=<*>=- -=<*>=- -=<*>=- -=<*>=- -=<*>=-  (prompt "\nEnter known values. Press Enter if not known. ")  (setq diam (getreal "\nEnter duct diameter: "))  (if (null diam) ; skip if diameter entered    (setq width (getreal "\nEnter duct width: ")          depth (getreal "\nEnter duct depth: ")    )  )  (setq volume   (getreal "\nEnter total CFM'S: ")        velocity (getreal "\nEnter Velocity in FPM: ")  )  ;;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-  ;;                  Process user input                     ;;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-  (cond    ;;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-    ((and diam volume)     (setq area_sqft (dia2area diam)           width     (dia2sq diam)           depth     width           velocity  (/ volume area_sqft)           pressure  (veloc2press velocity)     )     (find_fric)    )    ;;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-    ((and diam velocity)     (setq area_sqft (dia2area diam)           width     (dia2sq diam)           depth     width           volume    (* area_sqft velocity)           pressure  (veloc2press velocity)     )     (find_fric)    )    ;;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-    ((and width depth volume)     (setq area_sqft (rec2area width depth)           diam      (area2dia area_sqft)           velocity  (/ volume area_sqft)           pressure  (veloc2press velocity)     )     (find_fric)    )    ;;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-    ((and width depth velocity)     (setq area_sqft (rec2area width depth)           diam      (area2dia area_sqft)           volume    (* area_sqft velocity)           pressure  (veloc2press velocity)     )     (find_fric)    )    ;;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-    ((and volume velocity)     (setq area_sqft (/ (/ volume velocity) 0.914774703)           diam      (area2dia area_sqft)           width     (dia2sq diam)           depth     width           pressure  (veloc2press velocity)     )     (find_fric)    )    ;;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-    (t (alert "\nInsufficient data retry inputs..."))  ) ; end cond stmt) ; end defun`
I've reached the age where the happy hour is a nap. (°¿°)
Windows 10 core i7 4790k 4Ghz 32GB GTX 970

#### Water Bear

• Guest
##### Mechanical help...
« Reply #7 on: February 24, 2004, 07:26:42 PM »
Quote
(t
(cond
((if volume
t
)
(prompt
"\nYou must enter diameter or Width x Depth or FPM..."
)
)
((if velocity
t
)
(prompt
"\nYou must enter a diameter or Width x Depth or CFM..."
)
)
(t
(prompt "\nYou must indicate CFMs or FPM..")
)
)
)
instead of that last condition? and can we get it to switch to (textscr) and list all variables..

#### CAB

• Global Moderator
• Seagull
• Posts: 10401
##### Mechanical help...
« Reply #8 on: February 24, 2004, 07:52:45 PM »

Code: [Select]
`    (t     (cond       ((or volume velocity)        (prompt          "\nYou must enter diameter or Width x Depth or FPM..."        )       )       (t        (prompt "\nYou must indicate CFMs or FPM..")       )     )    )`

Code: [Select]
`(defun c:test (/ friction)  (while (null (setq friction (duct_calc))))  (print friction)  (princ))`
I've reached the age where the happy hour is a nap. (°¿°)
Windows 10 core i7 4790k 4Ghz 32GB GTX 970

#### Water Bear

• Guest
##### Mechanical help...
« Reply #9 on: February 24, 2004, 08:43:08 PM »
Looks really good CAB putting it all together...how about  something like this at the end:
Code: [Select]
`(defun duct_calc (/);;;             volume  pressure   velocity;;;        diam        rey_no   fric_fac   width;;;        depth        square   friction   area_sqft;;;        );;; -=<*>=- -=<*>=- -=<*>=- -=<*>=- -=<*>=- -=<*>=- -=<*>=- -=<*>=-;;;                      Local Functions                           ;;; -=<*>=- -=<*>=- -=<*>=- -=<*>=- -=<*>=- -=<*>=- -=<*>=- -=<*>=-;;;  ;;  given the area in square feet returns the diameter  (defun area2dia (sf_area / square)    (setq square (sqrt (* sf_area 144.0)))    (* 1.3       (exp (/ (log (/ (expt (* square square) 5.0)    (expt (+ square square) 2.0)    ) )    8.0    ) )       )    ) ; end defun  ;;  given diameter returns the side dimension  (defun dia2sq (dia)    (* dia 0.914774703)    )  ;;  given the diameter returns the area in sq ft  (defun dia2area (dia)    (/ (* 0.7854 (expt dia 2.0)) 144.0)    )  ;;  given the sides returns the area in sq ft  (defun rec2area (w d) ; retangle to area    (* (/ (* w d) 144.0) 0.914774703)    )  ;;  given the diameter returns the area in sq ft  (defun veloc2press (vel)    (expt (/ vel 4005.00) 2)    )  ;;  calc friction  (defun find_fric ()    (setq rey_no   (* 0.075 diam velocity (/ 1.0 0.0432)) ;<=need coefficient for viscosity of standard air in pounds/ft hr  fric_fac (/ 64.0 rey_no) ;<=only good if reynolds is less than 2000  friction (* fric_fac (/ 1200 diam) pressure)  ) ;<==Darcy/Weisbach    );;; -=<*>=- -=<*>=- -=<*>=- -=<*>=- -=<*>=- -=<*>=- -=<*>=- -=<*>=-;;;================================================================;;;                    Start of Routine                           ;;;================================================================;;; -=<*>=- -=<*>=- -=<*>=- -=<*>=- -=<*>=- -=<*>=- -=<*>=- -=<*>=-  (prompt "\nEnter known values. Press Enter if not known. ")  (setq diam (getreal "\nEnter duct diameter: "))  (if (null diam) ; skip if diameter entered    (setq width (getreal "\nEnter duct width: ")  depth (getreal "\nEnter duct depth: ")  )    )  (setq volume (getreal "\nEnter total CFM'S: ") velocity (getreal "\nEnter Velocity in FPM: ") )  ;;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-  ;;               Process character pressed                     ;;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-  (cond    ;;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-    ((and diam volume)     (setq area_sqft (dia2area diam)   width     (dia2sq diam)   depth     width   velocity  (/ volume area_sqft)   pressure  (veloc2press velocity)   )     (find_fric)     )    ;;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-    ((and diam velocity)     (setq area_sqft (dia2area diam)   width     (dia2sq diam)   depth     width   volume    (* area_sqft velocity)   pressure  (veloc2press velocity)   )     (find_fric)     )    ;;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-    ((and width depth volume)     (setq area_sqft (rec2area width depth)   diam     (area2dia area_sqft)   velocity  (/ volume area_sqft)   pressure  (veloc2press velocity)   )     (find_fric)     )    ;;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-    ((and width depth velocity)     (setq area_sqft (rec2area width depth)   diam     (area2dia area_sqft)   volume    (* area_sqft velocity)   pressure  (veloc2press velocity)   )     (find_fric)     )    ;;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-    ((and volume velocity)     (setq area_sqft (/ (/ volume velocity) 0.914774703)   diam     (area2dia area_sqft)   width     (dia2sq diam)   depth     width   pressure  (veloc2press velocity)   )     (find_fric)     )    ;;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-    (t     (cond       ((or volume velocity) (prompt  "\nYou must enter diameter or Width x Depth..."  ) )       (t (prompt "\nYou must indicate CFMs or FPM..") )       )     )    ) ; end cond stmt  (textscr)  (mapcar 'print  (list diam volume width depth velocity friction)  )  (princ)  )`

#### CAB

• Global Moderator
• Seagull
• Posts: 10401
##### Mechanical help...
« Reply #10 on: February 24, 2004, 10:27:52 PM »
Ok, add some more input filter and revised you print function.

Code: [Select]
`;;; Duct calc returns the friction value(defun duct_calc (/          friction   volume     pressure                  velocity   diam       rey_no     fric_fac                  width      depth      area_sqft                 );;; -=<*>=- -=<*>=- -=<*>=- -=<*>=- -=<*>=- -=<*>=- -=<*>=- -=<*>=-;;;                      Local Functions                           ;;; -=<*>=- -=<*>=- -=<*>=- -=<*>=- -=<*>=- -=<*>=- -=<*>=- -=<*>=-;;;  ;;  given the area in square feet returns the diameter  (defun area2dia (sf_area / square)    (setq square (sqrt (* sf_area 144.0)))    (* 1.3       (exp         (/ (log (/ (expt (* square square) 5.0)                    (expt (+ square square) 2.0)                 )            )            8.0         )       )    )  ) ; end defun  ;;  given diameter returns the side dimension  (defun dia2sq (dia)    (* dia 0.914774703)  )  ;;  given the diameter returns the area in sq ft  (defun dia2area (dia)    (/ (* 0.7854 (expt dia 2.0)) 144.0)  )  ;;  given the sides returns the area in sq ft  (defun rec2area (w d) ; retangle to area    (* (/ (* w d) 144.0) 0.914774703)  )  ;;  given the diameter returns the area in sq ft  (defun veloc2press (vel)    (expt (/ vel 4005.00) 2)  )  ;;  calc friction   (defun find_fric ()    (setq rey_no   (* 0.075 diam velocity (/ 1.0 0.0432)) ;<=need coefficient for viscosity of standard air in pounds/ft hr           fric_fac (/ 64.0 rey_no) ;<=only good if reynolds is less than 2000           friction (* fric_fac (/ 1200 diam) pressure)    ) ;<==Darcy/Weisbach   );;; -=<*>=- -=<*>=- -=<*>=- -=<*>=- -=<*>=- -=<*>=- -=<*>=- -=<*>=-;;;================================================================;;;                    Start of Routine                            ;;;================================================================;;; -=<*>=- -=<*>=- -=<*>=- -=<*>=- -=<*>=- -=<*>=- -=<*>=- -=<*>=- ;;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-  ;;                    Get User Input                            ;;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-  (prompt "\nEnter known values. Press Enter if not known. ")  (setq diam (getreal "\nEnter duct diameter: "))  (if (null diam) ; skip if diameter entered    (setq width (getreal "\nEnter duct width: ")          depth (getreal "\nEnter duct depth: ")    )  )  (setq volume (getreal "\nEnter total CFM'S: "))  (if (null (and (or diam (and width depth)) volume))    (setq velocity (getreal "\nEnter Velocity in FPM: "))  )  ;;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-  ;;                Process User Input                            ;;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-  (cond    ;;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-    ((and diam volume)     (setq area_sqft (dia2area diam)           width     (dia2sq diam)           depth     width           velocity  (/ volume area_sqft)           pressure  (veloc2press velocity)     )     (find_fric)    )    ;;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-    ((and diam velocity)     (setq area_sqft (dia2area diam)           width     (dia2sq diam)           depth     width           volume    (* area_sqft velocity)           pressure  (veloc2press velocity)     )     (find_fric)    )    ;;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-    ((and width depth volume)     (setq area_sqft (rec2area width depth)           diam      (area2dia area_sqft)           velocity  (/ volume area_sqft)           pressure  (veloc2press velocity)     )     (find_fric)    )    ;;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-    ((and width depth velocity)     (setq area_sqft (rec2area width depth)           diam      (area2dia area_sqft)           volume    (* area_sqft velocity)           pressure  (veloc2press velocity)     )     (find_fric)    )    ;;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-    ((and volume velocity)     (setq area_sqft (/ (/ volume velocity) 0.914774703)           diam      (area2dia area_sqft)           width     (dia2sq diam)           depth     width           pressure  (veloc2press velocity)     )     (find_fric)    )    ;;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-    (t     (cond       ((or volume velocity)        (prompt          "\nYou must enter diameter or Width x Depth or FPM..."        )       )       (t        (prompt "\nYou must indicate CFMs or FPM..")       )     )    )  ) ; end cond stmt  (textscr)  (mapcar '(lambda (x) (prompt (strcat "\n" (car x) (rtos (cdr x) 2))))          (list (cons "Diameter " diam)                (cons "Width    " width)                (cons "Depth    " depth)                (cons "Volume   " volume)                (cons "Velocity " velocity)                (cons "Friction " friction)          )  )  (princ)) ; end defun(defun c:test (/ friction)  (while (null (setq friction (duct_calc))))  (print friction)  (princ))`
I've reached the age where the happy hour is a nap. (°¿°)
Windows 10 core i7 4790k 4Ghz 32GB GTX 970

#### Water Bear

• Guest
##### Mechanical help...
« Reply #11 on: February 24, 2004, 10:47:57 PM »
Man! you aregood! And you've only been doing this for 3 months?
Now if I could only figure out the @#\$% friction factor! The problem there is that  they use Colebrook's equation which "...cannot be explictly solved for the friction factor, so you must use iterative techniques.

#### CAB

• Global Moderator
• Seagull
• Posts: 10401
##### Mechanical help...
« Reply #12 on: February 24, 2004, 11:02:15 PM »
Thanks.

Quote
And you've only been doing this for 3 months

No, more like a year.
Gettin started is the hard part.

CAB
I've reached the age where the happy hour is a nap. (°¿°)
Windows 10 core i7 4790k 4Ghz 32GB GTX 970

#### Water Bear

• Guest
##### Mechanical help...
« Reply #13 on: February 24, 2004, 11:16:59 PM »
CAB, take a look at this one and give me your thoughts:

This is supposed to replace the formula I have for "fric_fac"

#### CAB

• Global Moderator
• Seagull
• Posts: 10401
##### Mechanical help...
« Reply #14 on: February 24, 2004, 11:32:52 PM »
That math is over my head

Is that the formula they talk about here?

Quote
Note: Friction losses have been calculated based on the Darcy equation.
The friction factor was determined by using a simplified formula by
Altshule/Tsal (see ASHRAE, 1997 Fundamentals, Chapter 32). The absolute
roughness factor of 0.0003 ft for the medium smooth roughness category
galvanized steel ductwork is used in the calculation.

One another subject,
Have you run across any software you would recommend for calculating and print a
Manual J form. Hillsborough County requires it for permit & although I use the
Energy Gauge software it doesn't print the Manual J.

CAB
I've reached the age where the happy hour is a nap. (°¿°)
Windows 10 core i7 4790k 4Ghz 32GB GTX 970