Below is a simple method statement depicting the process of casting a reinforced concrete strip footing. I've also produced an animation of the similar process, in this page.
Don's Work
drafting. modeling. rendering.
Wednesday, August 28, 2013
Thursday, April 18, 2013
SketchUp Animation - Casting of R.C Strip Footing
Below is an animation depicting the simplified casting process of a reinforced concrete strip footing.
The model was created and animated with SketchUp, output to a series of .png and put together in VirtualDub and output as .mp4 using this hack. The animation was then imported into VSDC Free Video Editor for post-production.
Enjoy the animation!
Like usual I couldn't claim the construction process depicted in the animation is 100% by-the-book as there are a lot of factors affecting the construction of a certain structure on site. Constrained by small working space -- it's most certain the excavated pit on site will never be as spacious as the one shown in the animation -- sometimes it's easier to bind those base rebars into a "basket" before unloading them into their formworks. Likewise for stump reinforcement.
The model was created and animated with SketchUp, output to a series of .png and put together in VirtualDub and output as .mp4 using this hack. The animation was then imported into VSDC Free Video Editor for post-production.
Enjoy the animation!
Like usual I couldn't claim the construction process depicted in the animation is 100% by-the-book as there are a lot of factors affecting the construction of a certain structure on site. Constrained by small working space -- it's most certain the excavated pit on site will never be as spacious as the one shown in the animation -- sometimes it's easier to bind those base rebars into a "basket" before unloading them into their formworks. Likewise for stump reinforcement.
Base rebars bound into a "basket". |
Stump rebars before lowered into formworks. |
Thursday, October 18, 2012
SketchUp Animation - "Spiral Staircase"
One great feature of SketchUp is how fly-through or fly-over or fly-by animation could be produced on the fly. And coupled with "section plane" function one has no problem producing cool construction sequence at all.
It's been a while since I last made any animation with SketchUp. I used the spiral staircase model I made, which I also shared on that page, throw in a few sections and scenes and here's the result:
This is not a real construction or assembly sequence by all means, I made this to brush up my rusty "section-planing" skill.
Like usual, the scenes are exported as 4000x2250pix PNGs and assembled in VirtualDub and encoded using x264 codec. VirtualDub can be found here, and x264vfw here.
It's been a while since I last made any animation with SketchUp. I used the spiral staircase model I made, which I also shared on that page, throw in a few sections and scenes and here's the result:
This is not a real construction or assembly sequence by all means, I made this to brush up my rusty "section-planing" skill.
Like usual, the scenes are exported as 4000x2250pix PNGs and assembled in VirtualDub and encoded using x264 codec. VirtualDub can be found here, and x264vfw here.
Sunday, October 14, 2012
Simple AutoLISP Code: Flip Dimension Text
This is a command I called D180, which function is rotating a dimension text by 180 degree.
I must admit the codes are rather clumpy and crude. I've seen the same purpose achieved by lesser lines and much elegant codes, but that's beyond my programming skill. :-)
(defun errD180 (msg)
(command)
(setq *error* localErrorD180)
(prompt "\nError. Program cancelled. ")
(princ)
)
(command)
(setq *error* localErrorD180)
(prompt "\nError. Program cancelled. ")
(princ)
)
(defun C:D180 (/ localErrorD180 dimProperty dimTxtRotationOld dimTxtRotationNew dimTxtRotationUpdate)
(setq localErrorD180 *error*)
(setq *error* errD180)
(setq dimProperty (entget (car (entsel "\nSelect dimension: "))))
(setq dimTxtRotationOld (cdr (assoc 51 dimProperty)))
(setq dimTxtRotationNew (+ dimTxtRotationOld (deg2rad 180)))
(setq dimTxtRotationUpdate (subst (cons 51 dimTxtRotationNew) (assoc 51 dimProperty) dimProperty))
(entmod dimTxtRotationUpdate)
(setq *error* localErrorD180)
(princ)
)
(defun deg2rad (d)
(* pi (/ d 180.0))
)
(setq localErrorD180 *error*)
(setq *error* errD180)
(setq dimProperty (entget (car (entsel "\nSelect dimension: "))))
(setq dimTxtRotationOld (cdr (assoc 51 dimProperty)))
(setq dimTxtRotationNew (+ dimTxtRotationOld (deg2rad 180)))
(setq dimTxtRotationUpdate (subst (cons 51 dimTxtRotationNew) (assoc 51 dimProperty) dimProperty))
(entmod dimTxtRotationUpdate)
(setq *error* localErrorD180)
(princ)
)
(defun deg2rad (d)
(* pi (/ d 180.0))
)
I must admit the codes are rather clumpy and crude. I've seen the same purpose achieved by lesser lines and much elegant codes, but that's beyond my programming skill. :-)
Thursday, September 27, 2012
Simple AutoLISP Code: Modified BREAK
I like to BREAK my line at the exact point I selected without typing much keywords, ie. by automated the "first point" option in the BREAK command, hence I came out with the following code:
A note though, this command prompts you to pick the desired break point prior to selecting an object, which is reversing the input sequence of the original BREAK command.
(defun errBRF (message)
(command)
(setq *error* localErrorBRF)
(prompt "\nRoutine cancelled. ")
(princ)
)
(command)
(setq *error* localErrorBRF)
(prompt "\nRoutine cancelled. ")
(princ)
)
(defun C:BRF (/ localErrorBRF brkPointBRF)
(setq localErrorBRF *error*)
(setq *error* errBRF)
(setq brkPointBRF (getpoint "\nPick break point: "))
(command "._BREAK" pause "F" brkPointBRF brkPointBRF)
(setq *error* localErrorBRF)
(princ)
)
A note though, this command prompts you to pick the desired break point prior to selecting an object, which is reversing the input sequence of the original BREAK command.
SketchUp Speed Modelling: A Simple Spiral Staircase [updated]
I supposed spiral staircase is one of the most popular subject in 3D modelling tutorials, however, for all the models I've done, spiral staircase is not in the list.
This is a simple spiral staircase -- with chequered plate treads welded to tees, which in turn are welded to a circular hollow section post. Balusters and railing are of circular hollow sections, too. I supposed the post should be mounted on a base plate that is bolted to a solid base.
The principle modelling process took less then 30 minutes to complete. The model of this staircase can be found in 3D Warehouse, as below.
>
Updates: I made an animation with this model, on this page.
This is a simple spiral staircase -- with chequered plate treads welded to tees, which in turn are welded to a circular hollow section post. Balusters and railing are of circular hollow sections, too. I supposed the post should be mounted on a base plate that is bolted to a solid base.
The principle modelling process took less then 30 minutes to complete. The model of this staircase can be found in 3D Warehouse, as below.
>
Updates: I made an animation with this model, on this page.
Sunday, September 23, 2012
Simple AutoLISP Codes: Modified FILLET
In the drafting of beam elevations, I normally use FILLET to form the bend of rebar. While I prefer to simply leave the bend at a 90-degree angle -- which make the job easier for me, of course -- most prefer to have rounded edge where the rebar bends, ie. giving a radius value to the FILLET function.
I use FILLET extensively in any drafting session and when it comes to rebar bend with a radius, it's troublesome to set the radius of FILLET to different values time and again, so I wrote a few lines to create new FILLET commands that are mapped to the radius I desired.
The code below is a modified FILLET command -- completed with error-trapping function -- called F15, which is a FILLET command that has a 15-unit radius. The routine stores the existing FILLET radius value, substitutes it with 15 in the process and restores the existing value at the end.
And yes, by replacing all the 15s in the code with 20s, you'll have a F20 command. ;-)
I use FILLET extensively in any drafting session and when it comes to rebar bend with a radius, it's troublesome to set the radius of FILLET to different values time and again, so I wrote a few lines to create new FILLET commands that are mapped to the radius I desired.
The code below is a modified FILLET command -- completed with error-trapping function -- called F15, which is a FILLET command that has a 15-unit radius. The routine stores the existing FILLET radius value, substitutes it with 15 in the process and restores the existing value at the end.
(defun errF15 (message)
(command)
(setvar "filletrad" frad)
(setq *error* localErrorF15)
(prompt "\nRoutine cancelled. ")
(princ)
)
(C:F15 (/ localErrorF15 frad)
(setq localErrorF15 *error*)
(setq *error* errF15)
(setq frad (getvar "filletrad"))
(command "._FILLET" "R" "15" "._FILLET" pause pause)
(setvar "filletrad" frad)
(setq *error* localErrorF15)
(princ)
)
(command)
(setvar "filletrad" frad)
(setq *error* localErrorF15)
(prompt "\nRoutine cancelled. ")
(princ)
)
(C:F15 (/ localErrorF15 frad)
(setq localErrorF15 *error*)
(setq *error* errF15)
(setq frad (getvar "filletrad"))
(command "._FILLET" "R" "15" "._FILLET" pause pause)
(setvar "filletrad" frad)
(setq *error* localErrorF15)
(princ)
)
And yes, by replacing all the 15s in the code with 20s, you'll have a F20 command. ;-)
Wednesday, March 21, 2012
Extra Large Output
This is an extra large output (4000x2149) of a semi-d render. It took my aged machine about 6 hours to complete the render process.
Nomeradona has a tutorial on how to do this, on that page.
[Note]
Unfortunately, it seems Blogger will rescale the image to to a maximum wide of 1600 pix.
Nomeradona has a tutorial on how to do this, on that page.
[Note]
Unfortunately, it seems Blogger will rescale the image to to a maximum wide of 1600 pix.
Subscribe to:
Posts (Atom)