Introducing Archimedes 3 - A building plugin

compassCenteredSmall2


Archimedes

Plugin Page

A Roblox building plugin that allows users to easily create smooth arcs.


:stop_sign: Read Me

Since creating this post, I’m currently working on a new better version of the plugin since I’ve learned a lot about some of the libraries that I was using since the release of Archimedes 3 (the current live version). The new version will have the same general appearance, but with more customization, and the source code will be available immediately on GitHub upon release.


:warning: Important


  • If you’re capable of using something like Blender, then It’s HIGHLY recommended to use that instead. Archimedes is not a magic solution to creating “bendy” parts - excessive use can lead to high part count, which is undesirable for performance reasons.

  • The new Auto-Resize feature is essentially in beta and is highly unstable, so it will likely have many issues. If you run into any, please disable the feature and manually resize-align instead.

  • You DO NOT need to click precisely on the CheckBoxes in order to toggle them; you can click anywhere to the right of them and they will still toggle.

  • I’m working on refactoring most of the code and will be setting up a GitHub repository for this plugin at some point. Edit: See “Read Me” section at the top of the post.

  • Scroll to the bottom of this post to see my future plans for this plugin.


:new: Features

These are all features that didn’t exist in Archimedes 2.


  • Window Mode
    • Archimedes now allows you to switch between “ScreenGui” and “Widget” modes. Widget mode has more advanced controls that are not provided on the compact ScreenGui form in order to make the update more comfortable for long-time users of Archimedes 2.

    • To switch modes between Widget and ScreenGui, click on this button here:

image

Compact ScreenGui Mode
image

Complex Widget Mode


  • Quick Face Selection
    • Users no longer have to click through every axis option in order to figure out which one matches the direction that they’re wanting to arc from. Simply click on the “Face” property box and then hover over a part; you’ll see a SurfaceSelection with the TargetSurface set to the face that you’re actively hovering over.

    • Only the Pitch will be selected with this feature. The purpose is to quickly figure out which axis is the proper one. You will still need to manually click the Yaw/Roll checkboxes.

    • Currently only usable for selecting the faces of parts. Will be making an update soon to select the faces directly from a model.


  • Direction Preview

    • Hovering over the axis options in the widget will also create a SurfaceSelection on the selected parts, showing which face will be affected so that you can quickly tell whether or not the axis you’re hovering over is the correct one.

  • RadialProgressBar Angle Selection
    • Users can drag their mouse across the angle circle to quickly increase/decrease the current angle value.

    • The number in the center is still a TextBox, so you can also type in the angle that you desire.


  • Auto-Resize
    • This feature tries to detect and connect parts that overlap towards the edge of the model.

After pressing Render, the parts on the red and green lines will snap towards one another.

  • It’s recommended to have this feature disabled whenever you aren’t using it.

  • This is currently an experimental feature that will automatically resize-align the edges of your models when pressing the render button.

  • Works best on models that have the same parts on either end.

  • Fix Neighbors

    • This will force neighboring instances to resize-align back towards the deleted instance so that they don’t have jagged edges.

Notice the parts that don’t line up with the edge of the model; this toggle will force them to resize towards the edge.


  • Alignment Mode
    • Default: Inside
    • There are three alignment modes: Inside, Middle, and Outside.
    • Changes the point from which the object should rotate around.

Inside

Middle

Outside


  • Vector3 Offset
    • Easily apply a Vector3 offset value through the widget. This will offset the rendered object by the set value.

    • It currently isn’t recommended to use this feature with the Auto-Resize feature; consider them as incompatible for right now.


  • Render Amount

    • Set the # of times you want the “Render” button to trigger whenever pressed. The maximum number matches the amount of renders that the old plugin would’ve taken for the “Render Circle” button (360/angle).

:hammer_and_wrench: Future Plans

Some features have been left out of this update due to some time constraints. They will be added as soon as possible. Edit: Current priority is refactoring the code - see “Read Me” section at the top of the post.


  • Multidirectional toggle

    • Allows you to select multiple directions at once. The result will not in any way be smooth, but a few people have been asking for this feature so this is confirmation that it’s on my radar.
  • Ropeater style handles toggle

  • Connect Ends toggle for Auto-Resize

    • If you create a full circle of roads, the very start/end won’t be ResizeAligned. At the moment you’ll still have to do this manually with an actual ResizeAlign plugin.

:clapper: Credits


210 Likes

Cool work I like it alot, I hope it will be useful.

11 Likes

Wow! great way to start of 2022. A new Archimedes version! This will be VERY useful! Thank you!

8 Likes

Also, 1 bug. When you insert a new part, with a degree of 10 and start dragging it(no movetool) it’ll start to float towards the camera.

Just thought I’d let you know

6 Likes

Thanks, will look into it, but I’d say that usually if you’re going to be dragging a part around then it’s probably best to toggle the “Enabled” checkbox on the widget in order to temporarily disable the plugin.

3 Likes

Also, another bug, when I select a part while I have the ui off, it’ll still show the thingy:
As you can see, no ui


Edit: It just fixed itself randomly. Weird.

4 Likes

Oh. My. Heckin. God. You’re a king, man!

I already loved Archi 2 but now with all the new additions in v3, this will definitely replace some of my current workflow and help get stuff done faster.

11 Likes

Looks amazing! How did you achieve the UI that looks like Roblox’s so effectively?

3 Likes

StudioComponents is a collection of Roact implementations of typical Roblox Studio user interface elements like as checkboxes, input fields, and scrollers. These closely resemble their built-in counterparts in appearance and operation and should be used to construct user plugins.

4 Likes

I’m literally blind thanks lol it’s in the credits

3 Likes

An amazing upgrade, however it seems like you cant use numbers less than 1.

Root seems to be when you type “.” as the first character.

cloud_144938633.Archimedes.Modules.Interface.StudioComponents.TextInput:148: invalid argument #3 (string expected, got table)

A current workaround is to type the number first, then type “.” infront of it



But it seems like the plugin was not designed to support numbers less than 1, there’s no render option greator than 360.

I assume this is because the actual amount of instances the plugin is creating?


There also seems to be a ChangeHistoryService issue, where if you undo your render actions it only removes the last instance the plugin generated.

5 Likes

This is very helpful plugin for builders also there are many problems to fix

1 Like

I have been using this plugin for a while (version 2) but sometimes I give up on making curves with it because there is the graphic effect of a part being inside another and it’s not really beautiful to see so if you can make a feature to avoid it that would be cool. Maybe an automatic union operation to cut the parts and remove thst effect

2 Likes

This effect only shows if you have Auto-Resize enabled. Turn off Auto-Resize to hide it. You shouldn’t have it enabled if you’re only modifying a part anyways, this was addressed in the main post. I just pushed an update that allows you to turn it off while you are auto-resizing, though.

image


Just pushed an update to fix this issue (if I’m understanding correctly) and the ability to type in decimals.

The max render # is tied to the amount of renders it would take to create a full circle with the angle that you have typed in. The number should always be equal to (360/angle). Is there a reason why you need it to be higher?

2 Likes

Hi, if you’re experiencing problems that other people haven’t posted about already in this thread then it’d be really useful for you to actually describe the problems you’re experiencing rather than just saying there are many problems. I can’t fix them if I don’t know what they are! :stuck_out_tongue:

4 Likes

In an effort to address some complaints about the new update, the plugin now has a compact ScreenGui form that you can toggle. It forces the settings to match the naming scheme of Archimedes 2.

You will lose access to some settings in this mode. Consider “Widget Mode” as the “Advanced” version of the plugin.


image

Edit: ScreenGui mode has been changed to the default mode for new installs.

7 Likes

THANK YOU! I kinda disliked the widget type ui thing. I liked the v2 compact screen gui one more. So adding this is a huge win for me

3 Likes

I, for one, really like this update. The widget is not something I love AS MUCH AS THE OLD UI (I still like the widget ) but it really isn’t terrible.

Unless I am doing something wrong, I believe the face setting (under the direction category) is broken and cannot be changed.

3 Likes

image

Click on the bit in the blue box, then hover your mouse over the faces of a part. It should create a SurfaceSelection. Click on whichever face you want to target.

2 Likes

I’d also add some small text that says what number you need to put in the Amount value to create a circle, as some people may forget 360.

2 Likes