Stop placement system from clipping! through objects

The title says it all, my placement system, clips through the world and im not sure how to stop it from doing that

	local WorldPoint = function()
		local startCFrame = CFrame.new(0, 0, -ReplicatedDistance)
		local worldScreenPoint = CurrentCamera.CFrame:ToWorldSpace(startCFrame)

		return worldScreenPoint;
	end
	
	local updateViewmodel = function()
		if ReplicatedModel then
			local ReplicatedCFrame = WorldPoint()
			local EndReplicatedCFrame = ReplicatedCFrame * CFrame.Angles(ReplicatedIncrementX, 0, ReplicatedIncrementZ)
			local MoveObject = TweenService:Create(ReplicatedModel.PrimaryPart, TweenInfo.new(.35, Enum.EasingStyle.Quint, Enum.EasingDirection.Out), {CFrame = EndReplicatedCFrame})
			
			local Raycast = workspace:Raycast(WorldPoint().Position, CurrentCamera.CFrame.LookVector * 10)
			
			ReplicatedModel.PrimaryPart.Anchored = true
			
		
			MoveObject:Play()
		end
	end