Keep a Part's Position Always on Left Relative to another Part

		local hinge = Instance.new("Part")
		hinge.Name = "Hinge"
		hinge.Size = Vector3.new(1, 1, 1)
		hinge.Shape = Enum.PartType.Cylinder
		hinge.Position = -Base.CFrame.LookVector * (Base.Size.Z / 2)+Base.Position
		hinge.CanCollide = false
		hinge.Anchored = true
		hinge.Transparency = 0.5
		hinge.Parent = door

So, this positions the hinge on what seems like the left side of a part. However, if the part is rotated or changed its orientation, the position of the hinge may not be I expect. Is there a way to consistently determine the left side of the part, regardless of its orientation? I want to ensure that the hinge is always placed on the left side of the part, even if the part is rotated or somehow.

You are just creating a part in this code segment, not an actual hinge. If you want this hinge part to be relative to the rotation of the Base part, it looks like your code segment should work somewhat. Instead of just using the look vector however, I would multiply the cframe by a new cframe from the size:

hinge.CFrame = Base.CFrame * CFrame.new(base.Size)

Let me know how this works. Also, this will keep the same look vector for the hinge as the base part. Not sure if this is how you want the code to work.


But I want it to always be like this (regardless of its orientation)

Ahh, sorry that’s my mistake. Wasn’t exactly sure where you wanted the hinges and I forgot to halve the value. Try something along these lines, although I’m not sure what orientation will work for your parts:

hinge.CFrame = Base.CFrame * CFrame.new(0, 0, base.Size.Z/2)