Category: Uncategorized

  • CAD PROJECT

    For this project, I designed a wheel assembly in Onshape as part of a CAD assignment.

    For my design, I am modeling realistic car wheels and an axle, but simplified for this project. It is not a full car or engine just the wheel system. The assembly includes a center disc, wheel rim with brake disc, tire, and axle, and later I copied the wheel to put two wheels on the same axle, allowing me to test rotation of the wheel. The parts should fit together logically, look realistic, and spin properly in the assembly, but they don’t need to handle real forces or loads.

    PT1: CENTER DISC

    The first part I designed was the center disc, a circular cover that fits into the center opening of the wheel rim.

    –The circular shape of the disc with a slight dome.

    –An isometric view of the disc.

    –Mechanical drawing of the disc.

    The center cap disc works well and fits properly, but it’s a bit small compared to the rest of the wheel. Making it larger would help it fill the hub better and make the wheel look more balanced overall. A slightly bigger disc would also be stronger for 3D printing, because thin edges can easily break or warp during printing or handling.

    PT2: WHEEL RIM

    The second part I designed was the wheel rim, which serves as the main structural component of the wheel, and the brake disc, positioned inside the rim near the hub.

    –The front view of the wheel rim showing the design and the brake.

    –The isometric view of the wheel rim, and this angle clearly shows the brake inside the rim.

    –The mechanical drawing of the wheel rim.

    The wheel rim and brake came out looking pretty solid, and they fit together well in the assembly. I like how the cutouts make the rim look realistic, but I think the spacing could be adjusted a bit to make it feel stronger and more balanced. The brake disc lines up nicely with the hub, but it might look better if it were slightly thicker to match the proportions of the rim.

    PT3: TIRE

    The third part I designed was the tire, which wraps around the wheel rim and provides the interface between the wheel and the ground.

    –The front view of the tire.

    –The isometric view of the tire.

    –The mechanical drawing of the tire.

    Putting everything we have so far together…

    The wheel…

    PT4: AXLE

    The final part I designed was the axle, which passes through the center of the wheel and connects the assembly to the rest of the mechanism.

    –Side view of the axle.

    –Isometric view of the axle.

    –The mechanical drawing of the axle.

    The axle functions well and holds the wheel together properly, but it feels a little long compared to the rest of the assembly. Shortening it slightly could make the overall design look cleaner and more compact. The step-downs help with alignment, but maybe adding some small grooves or visual details could make it look more realistic.

    PT5: ASSEMBLY

    The assembly combines all the components: center disc, wheel rim with brake, tire, and axle. After completing the first wheel, I duplicated it so that there are two wheels on the same axle

    –The axle passes through the hubs of both wheels, keeping them aligned and in position.

    The two wheels are spaced evenly on the axle, allowing proper rotation without interference.

    –Mechanical drawing of the assembly

    The assembly turned out really well, wheels spin smoothly, everything fits neatly, and the design looks solid. Duplicating the wheel was simple but effective, and seeing them rotate together makes the assembly feel complete and polished.

    PT6: CONCLUSION

    The wheel project turned out really well. Each part, the center disc, wheel rim with brake, tire, and axle, they fit together neatly, and duplicating the wheel to create two on the same axle works smoothly. The wheels rotate properly, and the assembly demonstrates how all the components interact in a functional system. While some details, like the size of the center disc or spacing of the rim cutouts, could be improved, the overall design is realistic, balanced, and visually appealing. This project allowed me to practice all core CAD skills such as sketching, extruding, assembling, creating mechanical drawings, and generating a BOM.

  • Coding project

    Link to code: https://colab.research.google.com/drive/1zRVT20MhXBPmbU2OTtkjhJy_xtmiKGSi?usp=sharing

    I am new to coding, so for my first project, I chose to create a simple Rock, Paper, Scissors game. This game was a good way for me to practice the basics of Python, such as functions, loops, and conditional statements. I also wanted to make sure the program was user-friendly, so I added clear messages, error checking, and a replay option to make it easy to use.

    -flow chart of the code

    PT.1: FUNCTIONS

    def play_rock_paper_scissors():

    When the game begins, it prints a welcome message to introduce the game and let the player know they will be playing against the computer.

    PT.2: INTRODUCTION AND LOOP

     print("   Let's Play Rock, Paper, Scissors!   ")
        print("You will play against the computer.")
    
        while True:

    When the game begins, it prints a welcome message to introduce the game and let the player know they will be playing against the computer.
    Next, I set up a loop using while True, which repeats the game over and over until the player decides to stop. This way, the player can play multiple rounds without restarting the program.

    PT.3: PLAYER CHOICE

            player_choice = input("Enter your choice (rock, paper, or scissors): ").lower()
    
            if player_choice not in ["rock", "paper", "scissors"]:
    
            print("Invalid choice! Please type rock, paper, or scissors.")
    
            continue

    The input() part pauses the game and waits for the player to type something. The program asks the player to type rock, paper, or scissors. I added .lower() so it works even if the player types capital letters like “Rock.”
    If the player types something invalid (like “banana”), the program prints a warning and restarts the round. This prevents the game from crashing and keeps it friendly.

    PT.4:COMPUTER CHOICE

            options = ["rock", "paper", "scissors"]
            computer_choice = random.choice(options)

    Here, options is a list that stores the three possible choices. random.choice(options) picks one of them randomly. This makes the computer’s choice fair and unpredictable.

    PT.5: DISPLAYING CHOICES

        print(f"You chose: {player_choice}")
        print(f"The computer chose: {computer_choice}")

    These lines show the player what they chose and what the computer chose, so the player can clearly see both sides before the winner is announced.

    PT.6: DECIDING THE WINNER

            if player_choice == computer_choice:
                print("It's a tie! 🤝")

    The if statement checks a condition. If it’s true, Python runs the code inside that block. This line checks if the player and the computer chose the same thing. If they did, it prints “It’s a tie!” If they didn’t, Python moves to the next check.

    elif (player_choice == "rock" and computer_choice == "scissors") or \
                 (player_choice == "scissors" and computer_choice == "paper") or \
                 (player_choice == "paper" and computer_choice == "rock"):
                print("You win! 🎉")


    elif stands for “else if.” It gives another condition to check if the previous if (or another elif) was false.
    This line is checked only if the if condition wasn’t true (so it wasn’t a tie). The program looks at all the situations where the player would win. If any of these are true, it prints “You win!”

            else:
                print("The computer wins! 💻")


    The else statement is the catch-all. It runs only if none of the previous if or elif conditions were true.
    This means if it wasn’t a tie (if) and the player didn’t win (elif), then the computer must have won. It doesn’t need a condition because it automatically handles all remaining possibilities.

    PT.7: PLAY AGAIN OPTION

            play_again = input("Do you want to play again? (yes/no): ").lower()
    
            if play_again != "yes":
                break

    The first line asks for input and converts it to lowercase so that “Yes” or “YES” also works. The second line checks if the player typed anything other than “yes.” If they did, the break command stops the loop and ends the game.

    PT.8: ENDING THE GAME

        print("Thanks for playing! Goodbye!")

    When the player decides to stop, the program prints a goodbye message to signal the end of the game.

    PT.9: RUNNING THE FUNCTION

    play_rock_paper_scissors()

    This line is important because it actually starts the game; without it, Python would just know the instructions inside the function but would never run them, so the player wouldn’t see or play the game.

    Reflection:

    In summary, I think I did a great job on this project. Even though it is a simple game, it is fun and interactive, and I am proud of creating it. This project helped me practice basic coding skills like functions, loops, variables, and conditional statements, and it taught me how to make a program user-friendly and responsive to input. It gives me confidence as a beginner in coding.

  • Hello world!

    Welcome to User’s blog Sites. This is your first post. Edit or delete it, then start writing!